c++问题描述 有一个 � × � n×m 的矩阵二维数组要求输出该矩阵中的最大元素及其所在的行号第几行和列号第几列。矩阵中的元素均为整数。 输入格式 第一行: � n 和 � m 0 � � ≤ 1000 0
以下是一个解决该问题的C++代码:
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int matrix[1000][1000];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> matrix[i][j];
}
}
int maxElement = matrix[0][0];
int maxRow = 0;
int maxCol = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (matrix[i][j] > maxElement) {
maxElement = matrix[i][j];
maxRow = i;
maxCol = j;
}
}
}
cout << "最大元素:" << maxElement << endl;
cout << "所在行号:" << maxRow + 1 << endl;
cout << "所在列号:" << maxCol + 1 << endl;
return 0;
}
解释:
- 首先读取输入的n和m,表示矩阵的行数和列数。
- 然后定义一个二维数组matrix来存储矩阵的元素。
- 使用两个嵌套的for循环来读取矩阵的元素,并将其存储在matrix中。
- 初始化maxElement为矩阵中的第一个元素,maxRow和maxCol为0。
- 使用两个嵌套的for循环遍历矩阵中的所有元素,如果当前元素大于maxElement,则更新maxElement、maxRow和maxCol。
- 最后输出最大元素、所在行号和所在列号。
注意:行号和列号从1开始计数,所以在输出时需要加1
原文地址: https://www.cveoy.top/t/topic/hKL5 著作权归作者所有。请勿转载和采集!