问题描述
- C++教材例题,运行结果为啥不正确?
-
新手自学C++,谭浩强教程例5.8,求3*4矩阵最大值,答案应该是88,我运行的结果却是11,明显是错的,代码也照书检查无误,不知道问题出在哪?求高人指教!
#includeusing namespace std;
int main( )
{
int max_value(int array[][4]);
int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}};
cout<<"最大值是:"<
return 0;
}
int max_value(int array[][4])
{ int i,j,max;
max=array[0][0];
for(i=0;i
for(j=0;j
if(array[i][j]>max)max=array[i][j];
return max;
}
解决方案
lz贴代码的时候,请检查一下再贴,显然代码是不完整的。所以我们无法看出你的问题所在。
顺着你的这些代码,我写了一个
int max_value(int array[][4]);
int main()
{
int a [3][4]={{15,3,55,7},{8,23,85,67},{33,21,12,11}};
int max = max_value(a);
cout<<"最大值是:"<< max;
//int i;
//cin>>i;
return 0;
}
int max_value(int array [] [4])
{
int i,j,max;
max=array[0][0];
for(i=0;i
for(j=0;j
if(array [i] [j]>max)
max=array [i] [j];
return max;
}
检测了一下是没有问题的,其实就是将a[3][4]的值传入函数中,在函数中新声明一个变量array[3][4]去接收传来的值,然后对数组进行遍历,选择出最大值进行返回,然后再main函数中用一个变量接收max_value的处理结果,输出就能得到数组中的最大值。不知道lz的代码是什么思路。
解决方案二:
谢谢slamzwl!
因为电脑有问题,一直没法回复(一点击“我要回答”就出现该网页卡死现象。现在是换了台电脑来回复的)。因为电脑问题,粘帖的代码显示不全,并不是我粗心。
实际运行程序我是完全按照书上例题敲的代码,检查代码也没有问题,但是就是运行结果不正确。书上例题代码如下:继续请教高人,究竟错在哪?
#include
using namespace std;
int main( )
{
int max_value(int array[][4]);
int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}};
cout<<"最大值是:"<
return 0;
}
int max_value(int array[][4])
{ int i,j,max;
max=array[0][0];
for(i=0;i
for(j=0;j
if(array[i][j]>max)max=array[i][j];
return max;
}