#include<iostream.h>
#define N 2
void main()
{
int i,j,a[N][N],num[N][N];
cout<<"请输入一个数组:"<<endl;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
cin>>a[i][j];
for(i=0;i<N;i++)
for(j=0;j<N-1;j++)
if(a[i][j]>a[i][j+1])
num[i][j]=a[i][j];
else
num[i][j]=a[i][j+1];
for(i=0;i<N;i++)
for(j=1;j<N;j++)
cout<<"第"<<i+1<<"行第"<<j+1<<"个元素是最大值:"<<num[i][j]<<endl;
}
帮帮我看下这个程序哪出错了?
你这样改运行的结果还是错的啊,怎么有到第3行了?我感觉还是最后那一行j+1出问题了,但是又不知道是怎么回事
追答的确出错了,你应该用两个变量把行数和列数记下来,因为for循环会继续循环下去,i,j的值会改变。
你可以这样写
#include
#define N 2
void main()
{
int i,j,k,l,a[N][N],num;//最大值是一个数,不是数组。
cout>a[i][j];
num=a[0][0];
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(num<a[i][j])
num=a[i][j],k=i,l=j;
cout<<"第"<<k+1<<"行第"<<l+1<<"个元素是最大值:"<<num<<endl;
}