#include "stdio.h"
#define ROWS 3
#define COLS 3
void read_matrix(int matrix[ROWS][COLS]) {
for (int row = 0; row < ROWS; row++)
for (int col = 0; col < COLS; col++) {
printf("matrix[%d][%d] = ", row
, col
); scanf("%d", &matrix
[row
][col
]); }
}
void print_matrix(const int matrix[ROWS][COLS]) {
for (int row = 0; row < ROWS; row++) {
for (int col = 0; col < COLS; col++)
printf("%d ", matrix
[row
][col
]); }
}
int row_max(const int row[COLS]) {
if (COLS == 3) {
return row[0] > row[1]? (row[0] > row[2]? row[0]: row[2]): (row[1] > row[2]? row[1]: row[2]);
}
int max = row[0];
for (int i = 1; i < COLS; i++) {
if (row[i] > max)
max = row[i];
}
return max;
}
int main(void) {
int matrix[ROWS][COLS];
read_matrix(matrix);
print_matrix(matrix);
for (int row = 0; row < ROWS; row++) {
printf("max(matrix[%d]) = %d\n", row
, row_max
(matrix
[row
])); }
return 0;
}
I2luY2x1ZGUgInN0ZGlvLmgiCgojZGVmaW5lIFJPV1MgMwojZGVmaW5lIENPTFMgMwoKdm9pZCByZWFkX21hdHJpeChpbnQgbWF0cml4W1JPV1NdW0NPTFNdKSB7Cglmb3IgKGludCByb3cgPSAwOyByb3cgPCBST1dTOyByb3crKykKCQlmb3IgKGludCBjb2wgPSAwOyBjb2wgPCBDT0xTOyBjb2wrKykgewoJCQlwcmludGYoIm1hdHJpeFslZF1bJWRdID0gIiwgcm93LCBjb2wpOwoJCQlzY2FuZigiJWQiLCAmbWF0cml4W3Jvd11bY29sXSk7CgkJfQp9Cgp2b2lkIHByaW50X21hdHJpeChjb25zdCBpbnQgbWF0cml4W1JPV1NdW0NPTFNdKSB7Cglmb3IgKGludCByb3cgPSAwOyByb3cgPCBST1dTOyByb3crKykgewoJCWZvciAoaW50IGNvbCA9IDA7IGNvbCA8IENPTFM7IGNvbCsrKQoJCQlwcmludGYoIiVkICIsIG1hdHJpeFtyb3ddW2NvbF0pOwoJCXByaW50ZigiXG4iKTsKCX0KfQoKaW50IHJvd19tYXgoY29uc3QgaW50IHJvd1tDT0xTXSkgewoJaWYgKENPTFMgPT0gMykgewoJCXJldHVybiByb3dbMF0gPiByb3dbMV0/IChyb3dbMF0gPiByb3dbMl0/IHJvd1swXTogcm93WzJdKTogKHJvd1sxXSA+IHJvd1syXT8gcm93WzFdOiByb3dbMl0pOwoJfQoJaW50IG1heCA9IHJvd1swXTsKCWZvciAoaW50IGkgPSAxOyBpIDwgQ09MUzsgaSsrKSB7CgkJaWYgKHJvd1tpXSA+IG1heCkKCQkJbWF4ID0gcm93W2ldOwoJfQoJcmV0dXJuIG1heDsKfQoKaW50IG1haW4odm9pZCkgewoJaW50IG1hdHJpeFtST1dTXVtDT0xTXTsKCglyZWFkX21hdHJpeChtYXRyaXgpOwoJcHJpbnRfbWF0cml4KG1hdHJpeCk7CgoJZm9yIChpbnQgcm93ID0gMDsgcm93IDwgUk9XUzsgcm93KyspIHsKCQlwcmludGYoIm1heChtYXRyaXhbJWRdKSA9ICVkXG4iLCByb3csIHJvd19tYXgobWF0cml4W3Jvd10pKTsKCX0KCglyZXR1cm4gMDsKfQ==