
分为几个函数之后,不知道其他函数及主函数如何调用二维数组,希望得到解答
方法中,直接双重循环遍历判断。
用一个变量记录最大值,一个变量记录最大值对应的下标。
二维数组在主函数中定义,然后作为参数传到其他函数中。
代码如下:
#include <iostream>
using namespace std;
void Input_sz(int a[][5]);
void Sum_sz(int a[][5]);
void Max_sz(int a[][5]);
int main()
{
int a[5][5];
Input_sz(a);
Sum_sz(a);
Max_sz(a);
return 0;
}
void Input_sz(int a[][5])
{
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
cin >> a[i][j];
}
void Sum_sz(int a[][5])
{
int i,sum=0;
for (i = 0; i < 5; i++)
sum += a[i][i];
cout<< "主对角线各元素之和:"<< sum << endl;
}
void Max_sz(int a[][5])
{
int x=0,y=0;
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
{
if (a[i][j]>a[y][x])
{
y=i;
x=j;
}
}
cout << "最大的数:"<<a[y][x]<< " 所在行号:" << y << "所在列号:" << x << endl;
}