Advertisement
Vanya_Shestakov

Untitled

Sep 6th, 2021
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.09 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define ROW_COUNT 5
  4. #define COL_COUNT 10
  5.  
  6.  
  7. void printMatrix(int matrix[ROW_COUNT][COL_COUNT])
  8. {
  9.     for (int i = 0; i < ROW_COUNT; i++)
  10.     {
  11.         for (int j = 0; j < COL_COUNT; j++)
  12.         {
  13.             printf("%d", matrix[i][j]);
  14.             printf(" ");
  15.         }
  16.         printf("\n");
  17.     }
  18. }
  19.  
  20. void sort(int matrix[ROW_COUNT][COL_COUNT])
  21. {
  22.     for (int i = 0; i < ROW_COUNT; i++)
  23.     {
  24.         for (int j = 0; j < COL_COUNT; j++)
  25.         {
  26.             int current = matrix[i][j];
  27.             int k = j;
  28.             while(current > matrix[i][k - 1] && k > 0)
  29.             {
  30.                 matrix[i][k] = matrix[i][k - 1];
  31.                 k--;
  32.             }
  33.             matrix[i][k] = current;
  34.         }
  35.     }
  36. }
  37.  
  38. void getStringSums(int matrix[ROW_COUNT][COL_COUNT], int sums[ROW_COUNT])
  39. {
  40.     for (int i = 0; i < ROW_COUNT; i++)
  41.     {
  42.         for (int j = 0; j < COL_COUNT; j++)
  43.         {
  44.             sums[i] += matrix[i][j];
  45.         }
  46.         printf("\n");
  47.     }
  48. }
  49. void sortStrings(int matrix[ROW_COUNT][COL_COUNT], int sums[ROW_COUNT])
  50. {
  51.     for (int k = 0; k < COL_COUNT; k++)
  52.     {
  53.         for (int i = 0; i < ROW_COUNT - 1; i++)
  54.         {
  55.             if (sums[i] > sums[i+1])
  56.             {
  57.                 for (int j = 0; j < COL_COUNT; j++)
  58.                 {
  59.                     int temp = matrix[i][j];
  60.                     matrix[i][j] = matrix[i + 1][j];
  61.                     matrix[i + 1][j] = temp;
  62.                 }
  63.             }
  64.         }
  65.     }
  66. }
  67.  
  68. void inputMatrix(int matrix[ROW_COUNT][COL_COUNT])
  69. {
  70.     for (int i = 0; i < ROW_COUNT; i++)
  71.     {
  72.         for (int j = 0; j < COL_COUNT; j++)
  73.         {
  74.             printf("Enter elem %d%d\n", i, j);
  75.             scanf("%d", &matrix[i][j]);
  76.         }
  77.     }
  78. }
  79.  
  80. int main()
  81. {
  82.     int matrix[ROW_COUNT][COL_COUNT];
  83.     inputMatrix(matrix);
  84.     printf("Source matrix:\n");
  85.     printMatrix(matrix);
  86.     sort(matrix);
  87.     int sums[ROW_COUNT];
  88.     getStringSums(matrix, sums);
  89.     sortStrings(matrix, sums);
  90.     printf("Sorted matrix:\n");
  91.     printMatrix(matrix);
  92. }
  93.  
  94.  
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement