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

Đề tài: Lỗi sắp xếp mảng trên C, giúp mình sửa lỗi?

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    116

    Mặc định Lỗi sắp xếp mảng trên C, giúp mình sửa lỗi?

    đề: nhập mảng, thêm giá trj y vào sau các phần tử x đc nhập từ bàn phím.

    PHP Code:
    #include <stdio.h>
    #include <conio.h>
    void nhap(int ia[],int &n);
    void xuat(int ia[],int n);
    void chen(int ia[],int &n,int x,int y);
    void nhap(int ia[],int &n)
    {
        for(
    int i=0;i<n;i++)
            {
                
    printf("\nia[%d]= ",i);
                
    scanf("%d",&ia[i]);
            }
    }
    void xuat(int ia[],int n)
    {
        for(
    int i=0;i<n;i++)
            
    printf("%d   ",ia[i]);
    }
    void chen(int ia[],int &n,int x,int y)
    {
     
    int vitri,i;
     for(
    i=0;i<n;i++)  
          if(
    x==ia[i])
                      {
                                    
    vitri=i+1
                                    
    n+=1;                                               
                                    for(
    i=n-1;i>vitri-1;i--)
                                      
    ia[i]=ia[i-1];
                                    
    ia[vitri-1]=y;
                      }
    }
    int main()
    {
        
    int ia[100],n,x,y;
        
    printf("\nhap so phan tu: ");
        
    scanf("%d",&n);
        
    nhap(ia,n);
        
    xuat(ia,n);
        
    printf("\n");
        
    printf("\nnhap x(ss): ");
        
    scanf("%d",&x);
        
    printf("\nnhap y: ");
        
    scanf("%d",&y);
        
    chen(ia,n,x,y);
        
    xuat(ia,n);
        
    getch();
        return 
    0;

    Ai biết nó sai chỗ nào giúp em.
    Đã được chỉnh sửa lần cuối bởi clementboy03 : 26-05-2009 lúc 10:35 PM.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn sửa lại như thế này :

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4. void nhap(int ia[],int &n);
    5. void xuat(int ia[],int n);
    6. void chen(int ia[],int &n,int x,int y);
    7.  
    8. void nhap(int ia[],int &n)
    9. {
    10.     for(int i=0;i<n;i++)
    11.         {
    12.             printf("\nia[%d]= ",i);
    13.             scanf("%d",&ia[i]);
    14.         }
    15. }
    16.  
    17. void xuat(int ia[],int n)
    18. {
    19.     for(int i=0;i<n;i++)
    20.         printf("%d   ",ia[i]);
    21. }
    22.  
    23. void chen(int ia[],int &n,int x,int y)
    24. {
    25.     int vitri = -1, i;
    26.    
    27.     for(i=0;i<n;i++)  
    28.     {
    29.         if(x==ia[i])
    30.         {
    31.             vitri = i + 1;
    32.             break;                                
    33.         }
    34.     }
    35.  
    36.     if (vitri < 0)
    37.         return;
    38.              
    39.     for(i=n;i>vitri;i--)
    40.     {
    41.         ia[i] = ia[i-1];
    42.     }
    43.  
    44.     ia[i] = y;
    45.  
    46.     n++;
    47. }
    48.  
    49. int main()
    50. {
    51.     int ia[100],n,x,y;
    52.     printf("\nnhap so phan tu: ");
    53.     scanf("%d",&n);
    54.     nhap(ia,n);
    55.     xuat(ia,n);
    56.     printf("\n");
    57.     printf("\nnhap x(ss): ");
    58.     scanf("%d",&x);
    59.     printf("\nnhap y: ");
    60.     scanf("%d",&y);
    61.     chen(ia,n,x,y);
    62.     xuat(ia,n);
    63.     getch();
    64.     return 0;
    65. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    01 2009
    Nơi ở
    Hà Nội
    Bài viết
    205

    Mình vừa code xong đúng với yêu cầu đề bài. Cũng dễ hiểu thôi, không lằng nhằng lắm đâu
    C Code:
    1. #include <conio.h>
    2. #include <stdio.h>
    3.  
    4. void sx(int a[],int n,int dau)
    5. {
    6.     for(int i=0;i<n-1;i++)
    7.         for(int j=i+1;j<n;j++)
    8.             if(a[i]*dau>0&&a[j]*dau>0&&a[i]*dau>a[j]*dau)
    9.             {
    10.                 int temp=a[i];
    11.                 a[i]=a[j];
    12.                 a[j]=temp;
    13.             }
    14. }
    15.  
    16. main()
    17. {
    18.     int a[100],n;
    19.     printf("\nBan can nhap bao nhieu phan tu : ");
    20.     scanf("%d",&n);
    21.     for(int i=0;i<n;i++)
    22.     {
    23.         printf("\na[%d] = ",i+1);
    24.         scanf("%d",&a[i]);
    25.     }
    26.     sx(a,n,1);
    27.     sx(a,n,-1);
    28.     printf("\nSap xep duong tang & am giam : ");
    29.     for(i=0;i<n;i++)
    30.         printf("%d ",a[i]);
    31.     getch();
    32. }

  4. #4
    Ngày gia nhập
    11 2008
    Bài viết
    116

    @meo: bài của bạn chỉ đúng khi x chỉ xuất hiện 1 lần trong mảng thôi.

    @tru: sr bạn vì bài của bạn mình đã làm đc nên mình mới up bài khác lên. Dù sao cũng thank vì đã bõ công ra xem topic này

  5. #5
    Ngày gia nhập
    11 2008
    Bài viết
    0

    Khó hiểu đề bài của bạn quá >"<

    Nếu theo bạn nói, trường hợp y=x thì bài của bạn chạy sai @@

    Theo mình dùng một mảng đánh dấu các phần tử bằng x. Rồi sau đó chỉ việc in ra thôi ^^!
    Basketball isn't only a sport . Basketball is my life.

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

  1. Bài tập C các phép tính trên phân số viết bằng C trên Linux. Mọi người sửa giúp mình với?
    Gửi bởi hxt57 trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 2
    Bài viết cuối: 05-10-2011, 06:05 PM
  2. Đoạn code về linked trên C bị lỗi khi build trên Dev C++. Xem giúp mình
    Gửi bởi birthis trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 4
    Bài viết cuối: 06-05-2010, 01:17 PM
  3. return trên C. Trả về giá trị kiểu cấu trúc trên C. Xin chỉ giúp?
    Gửi bởi hoangedward trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 08-01-2010, 09:37 PM
  4. Close console trên C# | Giúp mình về Console Application trên C# với?
    Gửi bởi letheson trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 15-05-2009, 12:28 AM
  5. interval timer trên C# | Lấy mẫu vẽ đồ thị trên C#. Giúp mình với?
    Gửi bởi mrvui trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 09-05-2009, 10:16 PM

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