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

Đề tài: Sắp xếp các phần tữ trên cùng 1 dòng theo thứ tự tăng dần trong mảng 2 chiều

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

    Post Sắp xếp các phần tữ trên cùng 1 dòng theo thứ tự tăng dần trong mảng 2 chiều

    ví dụ như ta có mảng
    1 2 3 5
    4 6 8 5
    7 2 1 6
    5 9 2 1
    sắp lại thành
    1 2 3 5
    4 5 6 8
    1 2 6 7
    1 2 5 9

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Bạn viết một hàm sắp xếp một dòng, vd matrix a có kích thước row, col
    Tạo hàm SortRow(int **a, int col, int i); //i là chỉ số hàng sẽ sắp xếp

    Còn việc sắp xếp thì làm bt thường thôi.
    Gọi hàm đó để sắp xếp toàn mảng.

    Bạn thử code trước đi đã nhé!

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    33

    Bài sửa đây bạn !
    C Code:
    1. #include<stdio.h>
    2. #define MAX 10
    3. void Nhap_N(int &n)
    4. {
    5.     do{
    6.         printf("\nNhap ma tran vuong NxN voi N = ");
    7.         scanf ("%d",&n);
    8.         if(n<=1)
    9.             printf("\nNhap sai !, n > 1");
    10.     }while(n<=1);
    11. }
    12. void Nhap_Mang(int A[MAX][MAX],int n)
    13. {
    14.     for(int i=0;i<n;i++)
    15.         for(int j=0;j<n;j++)
    16.         {
    17.             printf("\t[%d][%d] = ",i,j);
    18.             scanf ("%4d",&A[i][j]);
    19.         }
    20. }
    21. void Xuat_Mang(int A[MAX][MAX],int n)
    22. {
    23.     for(int i=0;i<n;i++)
    24.     {
    25.         for(int j=0;j<n;j++)
    26.             printf("%4d",A[i][j]);
    27.         printf("\n");
    28.     }
    29. }
    30. void Hoan_Vi(int &a,int &b)
    31. {
    32.     int t = a;
    33.         a = b;
    34.         b = t;
    35. }
    36. void SapXep(int A[MAX][MAX],int n,int day_i)
    37. {
    38.     for(int i=0;i<n-1;i++)
    39.         for(int j=i+1;j<n;j++)
    40.             if( A[day_i][i] > A[day_i][j] )
    41.                 Hoan_Vi(A[day_i][i],A[day_i][j]);
    42. }
    43. void SapXepDayTang(int A[MAX][MAX],int n)
    44. {
    45.     for(int i=0;i<n;i++)
    46.         SapXep(A,n,i);
    47. }
    48. void main()
    49. {
    50.     int n;
    51.     int A[MAX][MAX];
    52.     Nhap_N(n);
    53.     Nhap_Mang(A,n);
    54.     printf("\nXuat mang : \n");
    55.     Xuat_Mang(A,n);
    56.  
    57.     printf("\nMang sau khi sap : \n");
    58.     SapXepDayTang(A,n);
    59.     Xuat_Mang(A,n);
    60. }
    Đã được chỉnh sửa lần cuối bởi basilisk : 07-03-2009 lúc 02:24 AM.

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

  1. Lỗi: bố cục trang web tự tăng theo chiều ngang khi chiều cao thay đổi
    Gửi bởi tuanngocpt trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 16-03-2013, 11:25 PM
  2. Trả lời: 1
    Bài viết cuối: 18-12-2011, 03:36 PM
  3. sắp xếp các các phần tử tăng dần trên mảng 2 chiều
    Gửi bởi thanhdieu 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: 13-12-2010, 08:14 PM
  4. Sắp xếp các phần tử mảng 2 chiều theo chiều giảm dần trên mỗi cột
    Gửi bởi bi_ngo_9x 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: 09-12-2010, 10:43 PM
  5. Nhập mảng 2 chiều trong cùng 1 dòng
    Gửi bởi love_sick trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 14
    Bài viết cuối: 16-08-2008, 01:27 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