要求找出3X4矩阵中的最小值与最大值及其所在的行和列。
时间: 2024-12-02 12:17:37 浏览: 12
要找出3x4矩阵中的最小值、最大值以及它们所在的行和列,你可以使用两个变量分别存储当前找到的最大值(max_val)和最小值(min_val),以及相应的行索引(row_min和row_max)、列索引(col_min和col_max)。遍历整个矩阵的过程如下:
```c
#include <stdio.h>
int main() {
int matrix[3][4] = { {5, 10, 15, 20},
{25, 30, 35, 40},
{45, 50, 55, 60} }; // 假设这是你的3x4矩阵
int row_min = 0;
int col_min = 0;
int max_val = matrix[0][0];
int min_val = matrix[0][0];
for (int i = 0; i < 3; i++) { // 遍历行
for (int j = 0; j < 4; j++) { // 遍历列
if (matrix[i][j] < min_val) {
min_val = matrix[i][j];
row_min = i;
col_min = j;
} else if (matrix[i][j] > max_val) {
max_val = matrix[i][j];
row_max = i;
col_max = j;
}
}
}
printf("最小值: %d, 行: %d, 列: %d\n", min_val, row_min + 1, col_min + 1); // 注意数组下标从0开始
printf("最大值: %d, 行: %d, 列: %d\n", max_val, row_max + 1, col_max + 1); // 同上
return 0;
}
```
这段代码首先初始化了最小值和最大值为矩阵的第一个元素,然后通过嵌套循环遍历矩阵。如果当前元素比已知的最小值还小,则更新最小值和其坐标;如果当前元素比已知的最大值大,则更新最大值和其坐标。最后,打印出找到的最小值、最大值及其位置。
阅读全文