#include <stdio.h>
#define ROWS 4
#define COLS 5
#define MAX_VAL 1000 // Assumes matrix values are in range [0, 999]
int findCommonElementInMatrixRows(int matrix[][5], int rows, int cols) {
int map[MAX_VAL] = {0};
for (int i = 0; i < rows; i++) {
map[matrix[i][0]]++;
for (int j = 1; j < cols; j++) {
if (matrix[i][j] != matrix[i][j - 1]) {
map[matrix[i][j]]++;
}
}
}
for (int i = 0; i < MAX_VAL; i++) {
if (map[i] == rows) {
return i;
}
}
return -1;
}
int main() {
int matrix[][COLS] = {
{1, 2, 3, 5, 36},
{4, 5, 7, 9, 10},
{5, 6, 8, 9, 18},
{1, 3, 5, 8, 24}
};
int result = findCommonElementInMatrixRows(matrix, ROWS, COLS);
if (result != -1) {
printf("Common element in all rows: %d\n", result);
} else {
printf("No common element found in all rows.\n");
}
return 0;
}
/*
run:
Common element in all rows: 5
*/