Advertisement
huutho_96

Mảng 2 Chiều

Jan 3rd, 2016
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.97 KB | None | 0 0
  1.  
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4. #include <time.h>
  5.  
  6. void Taomang(int **&arr, int &n, int &m)
  7. {
  8.     srand(time(NULL));
  9.     n = rand() % 9 + 1;
  10.     m = rand() % 9 + 1;
  11.     arr = (int **)malloc(n * sizeof(int *));
  12.     for (int i = 0; i < n; i++)
  13.         arr[i] = (int *)malloc(m * sizeof(int));
  14.     for (int i = 0; i < n; i++)
  15.     {
  16.         for (int j = 0; j < m; j++)
  17.         {
  18.             arr[i][j] = rand() % 99 + 1;
  19.         }
  20.     }
  21. }
  22. void InMang(int **arr, int n, int m)
  23. {
  24.     for (int i = 0; i < n; i++)
  25.     {
  26.         for (int j = 0; j < m; j++)
  27.         {
  28.             printf("%d\t", arr[i][j]);
  29.         }
  30.         printf("\n");
  31.     }
  32.     printf("\n%d Hang\t%d Cot\n", n, m);
  33. }
  34.  
  35. //sap xep trong dong
  36. void Swap(int *a, int *b)
  37. {
  38.     int temp = *a;
  39.     *a = *b;
  40.     *b = temp;
  41. }
  42.  
  43. void Sort(int *arr, int n)
  44. {
  45.     for (int i = 0; i < n - 1; i++)
  46.     {
  47.         for (int j = i + 1; j < n; j++)
  48.         {
  49.             if (arr[i] > arr[j])
  50.                 Swap(&arr[i], &arr[j]);
  51.         }
  52.     }
  53. }
  54.  
  55. void Sort1(int **arr, int n, int index)
  56. {
  57.     for (int i = 0; i < n - 1; i++)
  58.     {
  59.         for (int j = i + 1; j < n; j++)
  60.         {
  61.             if (arr[i][index] > arr[j][index])
  62.                 Swap(&arr[i][index], &arr[j][index]);
  63.         }
  64.     }
  65. }
  66.  
  67. void InMang_1(int *arr, int n)
  68. {
  69.     for (int i = 0; i < n; i++)
  70.         printf("%d\t", arr[i]);
  71.     printf("\n");
  72. }
  73.  
  74.  
  75. void InCot(int **arr, int n, int index)
  76. {
  77.     for (int i = 0; i < n; i++)
  78.     {
  79.         printf("%d\t", arr[i][index]);
  80.     }
  81.     printf("\n");
  82. }
  83.  
  84.  
  85. void Sort2(int **arr, int n, int m)
  86. {
  87.     for (int i = 0; i < n; i++)
  88.     {
  89.         for (int j = 0; j < m; j++)
  90.         {
  91.             for (int h = 0; h < n; h++)
  92.             {
  93.                 for (int k = 0; k < m; k++)
  94.                 {
  95.                     if (arr[i][j] < arr[h][k])
  96.                         Swap(arr[i][j], arr[h][k]);
  97.                 }
  98.             }
  99.         }
  100.     }
  101. }
  102.  
  103.  
  104. void main()
  105. {
  106.     int **arr = NULL;
  107.     int n, m;
  108.     Taomang(arr, n, m);
  109.     InMang(arr, n, m);
  110.  
  111.     //Sap xep theo hang
  112.     //for (int i = 0; i < n; i++)
  113.     //{
  114.     //  Sort(arr[i], m);
  115.     //  InMang_1(arr[i], m);
  116.     //}
  117.  
  118.     //Sap xep theo cot
  119.     //Sort1(arr, n, 0);
  120.     //InCot(arr, n, 0);
  121.  
  122.  
  123.     //Sap xep mang 2 chieu tang dan
  124.     Sort2(arr, n, m);
  125.     InMang(arr, n, m);
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement