123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include <stdio.h>
- int main() {
- int n, m, i, j;
- // 读取二维数组的行数和列数
- scanf("%d %d", &n, &m);
- int arr[n][m];
- // 读取二维数组的元素
- for (i = 0; i < n; i++) {
- for (j = 0; j < m; j++) {
- scanf("%d", &arr[i][j]);
- }
- }
- // 查找每行的最大值和最大值所在的列
- int row_max[n];
- int row_max_col[n];
- for (i = 0; i < n; i++) {
- row_max[i] = arr[i][0];
- row_max_col[i] = 0;
- for (j = 1; j < m; j++) {
- if (arr[i][j] > row_max[i]) {
- row_max[i] = arr[i][j];
- row_max_col[i] = j;
- }
- }
- }
- // 查找每列的最大值
- int col_max[m];
- for (j = 0; j < m; j++) {
- col_max[j] = arr[0][j];
- for (i = 1; i < n; i++) {
- if (arr[i][j] > col_max[j]) {
- col_max[j] = arr[i][j];
- }
- }
- }
- // 查找最大点
- for (i = 0; i < n; i++) {
- int max_val = row_max[i];
- int col_idx = row_max_col[i];
- if (max_val == col_max[col_idx]) {
- printf("%d %d %d\n", max_val, i + 1, col_idx + 1);
- }
- }
- return 0;
- }
|