Advertisement
dxvmxnd

Untitled

Oct 1st, 2024
12
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define SIZE 5
  6.  
  7. void fillMatrix(int matrix[SIZE][SIZE]) {
  8. for (int i = 0; i < SIZE; i++) {
  9. for (int j = 0; j < SIZE; j++) {
  10. matrix[i][j] = rand() % 100 + 1;
  11. }
  12. }
  13. }
  14.  
  15. void printMatrix(int matrix[SIZE][SIZE]) {
  16. for (int i = 0; i < SIZE; i++) {
  17. for (int j = 0; j < SIZE; j++) {
  18. printf("%3d ", matrix[i][j]);
  19. }
  20. printf("\n");
  21. }
  22. }
  23.  
  24. int rowSum(int matrix[SIZE][SIZE], int row) {
  25. int sum = 0;
  26. for (int j = 0; j < SIZE; j++) {
  27. sum += matrix[row][j];
  28. }
  29. return sum;
  30. }
  31.  
  32. void sortRowsBySum(int matrix[SIZE][SIZE]) {
  33. for (int i = 0; i < SIZE - 1; i++) {
  34. for (int j = 0; j < SIZE - i - 1; j++) {
  35. if (rowSum(matrix, j) > rowSum(matrix, j + 1)) {
  36. for (int k = 0; k < SIZE; k++) {
  37. int temp = matrix[j][k];
  38. matrix[j][k] = matrix[j + 1][k];
  39. matrix[j + 1][k] = temp;
  40. }
  41. }
  42. }
  43. }
  44. }
  45.  
  46. int main() {
  47. srand(time(NULL));
  48. int matrix[SIZE][SIZE];
  49.  
  50. fillMatrix(matrix);
  51.  
  52. printf("Исходная матрица:\n");
  53. printMatrix(matrix);
  54.  
  55. printf("\nСуммы строк:\n");
  56. for (int i = 0; i < SIZE; i++) {
  57. printf("Сумма строки %d: %d\n", i + 1, rowSum(matrix, i));
  58. }
  59.  
  60. sortRowsBySum(matrix);
  61.  
  62. printf("\nМатрица после сортировки:\n");
  63. printMatrix(matrix);
  64.  
  65. printf("\nСуммы строк после сортировки:\n");
  66. for (int i = 0; i < SIZE; i++) {
  67. printf("Сумма строки %d: %d\n", i + 1, rowSum(matrix, i));
  68. }
  69.  
  70. return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement