Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: hoàn chỉnh bài chèn số vào mảng giúp tớ!

  1. #1
    Ngày gia nhập
    10 2011
    Nơi ở
    ha noi
    Bài viết
    12

    Lightbulb hoàn chỉnh bài chèn số vào mảng giúp tớ!

    chào mọi người !đây là chương trình sắp xếp mảng và chèn vaò một số sao cho mảng vẫn tăng dần.
    mìh viêt cũng tương đối rồi,nhưng khi mảng có 2 phần tử trùng nhau và cho số nhỏ nhất chèn vào vị trí a[0] thì máy ko chạy.
    vì vậy mong cả nhà giúp tớ hoàn chỉnh bài naỳ sao cho chèn dc ở đầu mảng,các vị trí trùng nhau:thank cả nhà!
    #include<stdio.h>
    #include<math.h>
    int main()
    {
    int a[10],b[10],n,i,j,max,imax,t,m,q;
    printf("n=");
    scanf("%i",&n);
    for(i=0;i<n;i++)
    {
    printf("a[%i]=",i);
    scanf("%i",&a[i]);
    }
    for(i=0;i<=n;i++) b[i]=0;
    //sap xep mang
    for(i=n-1;i>0;i--)
    {
    max=-1;
    for(j=0;j<=i;j++)
    if(max<a[j])
    {
    max=a[j];
    imax=j;
    }
    a[imax]=a[i];//doi gia; tri a[i] cho a[imax]
    a[i]=max;//luc nay vi tri lon nhta trong day co gia tri lon nhat
    }//sui bot ok!
    //in mang sap xep ra
    printf("mang day mang day :\n");
    for(i=0;i<n;i++)
    printf("%i:\n",a[i]);
    //chen so vao mang
    printf("nhap so can chen: \n");
    scanf("%i",&m);
    for(i=0;i<n;i++)
    {
    if(m>a[i]&&m<a[i+1])
    {
    t=i;
    for(j=0;j<t;j++)
    b[j]=a[j];
    q=j;
    }
    }

    b[t]=a[t];
    b[t+1]=m;
    for(i=t+1;i<n;i++)
    b[i+1]=a[i];
    //in day dc chen ra
    printf("day dc chen roi la:\n");
    for(i=0;i<=n;i++)
    printf("%i\n",b[i]);
    system("pause");
    return 0;
    }
    Delete Quá Khứ, Reset Hiện tại, Download Tương Lai, Update Cuộc Sống...

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Code:
    i = 0 ;
    	while(m>a[i])
    		i++ ;
    
    	for(j=n;j>i;j--)
    		a[j] = a[j-1] ;
    	a[j] = m ;
    chú ý là phải có n đủ lớn để chèn thèm số vào thì ko bị ngoài vùng phủ sóng.(có thể dùng cấp phát động)
    bạn có thể thay đoạn code chèn bằng đoạn code này.vì trong code của bạn chỉ xét trường hợp nó nằm giữa 2 số mà ko xét tới trường hợp có thể bằng nên ko xử lý được.
    HT117-5277

  3. #3
    Ngày gia nhập
    10 2011
    Nơi ở
    ha noi
    Bài viết
    12

    thanhk treatmaster!
    code của bạn rất hay.
    Delete Quá Khứ, Reset Hiện tại, Download Tương Lai, Update Cuộc Sống...

  4. #4
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Trích dẫn Nguyên bản được gửi bởi mr.cuong_tq Xem bài viết
    thanhk treatmaster!
    code của bạn rất hay.
    cái nì là í tưởng của insertion sort thui mừ hehe
    HT117-5277

Các đề tài tương tự

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn