c++一个5*5的整形数组,从键盘输入数据,求主对角线个元素之和,并求出该数组中最小的数及其所在的位置。编写calSum()函数用主对角线个元素之和、编写函数findMin()找最小及其位置实现
时间: 2024-12-24 17:35:10 浏览: 1
在C++中,我们可以创建一个5x5的二维整型数组,然后分别实现`calSum()`函数计算主对角线元素之和以及`findMin()`函数查找数组中最小值及其位置。下面是详细的代码实现:
```cpp
#include <iostream>
using namespace std;
// 定义5x5的二维整型数组
int arr[5][5];
// 函数 calSum() 计算主对角线元素之和
int calSum() {
int sum = 0;
for (int i = 0; i < 5 && i < 5; i++) {
sum += arr[i][i]; // 主对角线元素的索引是 i 对应的下标
}
return sum;
}
// 函数 findMin() 查找最小值及其位置
void findMin(int (&arr)[5][5]) {
int min_val = arr[0][0];
int row = 0, col = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (arr[i][j] < min_val) {
min_val = arr[i][j];
row = i;
col = j;
}
}
}
cout << "最小值: " << min_val << ", 位于 (" << row << ", " << col << ")" << endl;
}
int main() {
// 从键盘输入5x5矩阵的数据
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
cout << "Enter element at [" << i << "][" << j << "]: ";
cin >> arr[i][j];
}
}
// 调用函数计算主对角线和
int diag_sum = calSum();
cout << "主对角线元素之和: " << diag_sum << endl;
// 调用函数查找最小值及位置
findMin(arr);
return 0;
}
```
上述代码首先接收用户输入的5x5矩阵数据,然后分别计算主对角线元素之和和查找最小值及其位置。运行`main()`函数即可看到结果。
阅读全文