fork download
  1. #include "stdio.h"
  2.  
  3. #define ROWS 3
  4. #define COLS 3
  5.  
  6. void read_matrix(int matrix[ROWS][COLS]) {
  7. for (int row = 0; row < ROWS; row++)
  8. for (int col = 0; col < COLS; col++) {
  9. printf("matrix[%d][%d] = ", row, col);
  10. scanf("%d", &matrix[row][col]);
  11. }
  12. }
  13.  
  14. void print_matrix(const int matrix[ROWS][COLS]) {
  15. for (int row = 0; row < ROWS; row++) {
  16. for (int col = 0; col < COLS; col++)
  17. printf("%d ", matrix[row][col]);
  18. printf("\n");
  19. }
  20. }
  21.  
  22. int row_max(const int row[COLS]) {
  23. if (COLS == 3) {
  24. return row[0] > row[1]? (row[0] > row[2]? row[0]: row[2]): (row[1] > row[2]? row[1]: row[2]);
  25. }
  26. int max = row[0];
  27. for (int i = 1; i < COLS; i++) {
  28. if (row[i] > max)
  29. max = row[i];
  30. }
  31. return max;
  32. }
  33.  
  34. int main(void) {
  35. int matrix[ROWS][COLS];
  36.  
  37. read_matrix(matrix);
  38. print_matrix(matrix);
  39.  
  40. for (int row = 0; row < ROWS; row++) {
  41. printf("max(matrix[%d]) = %d\n", row, row_max(matrix[row]));
  42. }
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0s 2172KB
stdin
1
2
3
4
5
6
7
8
9
stdout
matrix[0][0] = matrix[0][1] = matrix[0][2] = matrix[1][0] = matrix[1][1] = matrix[1][2] = matrix[2][0] = matrix[2][1] = matrix[2][2] = 1 2 3 
4 5 6 
7 8 9 
max(matrix[0]) = 3
max(matrix[1]) = 6
max(matrix[2]) = 9