二维数组最大值问题

INT型二维数组,求最大值,关键是最大值有很多相同的,要求随机从这些最大值中输出其中一个,并输出它的行列值
关键还是最大值可能有几十个相同的,然后从它们中随机抽出一个,并记录下它的行列值

int a =A [0][0];原始的二维数组
int counter=0;
int vec1[b]={0};
int vec2[c]={0};

for(int i=0;i!=b;i++)
{
for(int j=0;j!=c;j++)
{if(A[i][j]>a)
a=A[i][j];求最大
}
}
for(int i=0,n=0;i!=b;i++)
{
for(int j=0,m=0;j!=c;j++)
{if(A[i][j]==a)求有几个最大,及坐标
{ counter++; vec1[n]=i;vec2[m]=j;n++;m++;}
}
}
int fruit= random(time(0))%counter;随机

cout<<a<<endl<<vec1[fruit]<<vec2[fruit];

我随手写的,这个机器上没有C++没给你跑啊,你自己跑一下了。记得加ctime 、cstdlib啊
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-07-31
if (a>b)
{
temp=b;
b=a;
a=temp;
记录a的行列值
}
可以输出第一个最大值。

if (a>=b)
{
temp=b;
b=a;
a=temp;
记录a的行列值
}
可以输出最后一个最大值。
第2个回答  2008-07-31
main()
{
int a,b,k;
if(a>b)
k=a;
else k=b;
}
第3个回答  2008-07-31
int a[M][N],i,j;
//为a赋值
temp=a[0][0];
for(i=0;i<M;i++)
for(i=0;j<N;j++)
{if(a[i][j]>temp)
temp=a[i][j];}
printf("最大值=%d,位于 %d 行 %d 列\n",temp,i+1,j+1);

c语言二维数组允许定义的最大值
你定义多大就会申请多大的内存,所以这个错误主要看你的机器的内存大小以及编译器允许的内存大小,一般机器char的最大范围在10^7左右int在10^6左右,你是10^8级别太大了 如果用超级计算机就是非常大也没有问题的。二维数组没有定义的最大值的限制,主要是内存限制 ...

C语言问题请教:求一二维数组中的最大值,最小值,并标注出他们的位置问...
两处错误,第一处是char a[3][3];应为int a[3][3];这个不会直接报错,但当你输入超过255的数字后就会变成负数或0(减256)第二处(也是关键错误),对最大最小值的赋值在要在循环前进行 max=min=a[0][0]; for(i=0; i<3; i++) { for(j=0; j<3; j++) {否则按你...

二维数组问题 输出3*4矩阵中最大值,以及其所在的行号和列号。如有多个...
应该是做到了,多个最大值,就是 有相同的最大数,a[i][j]>m , 相同的数,不成立

c++求动态二维数组某一列的最大值,怎么错了啊
从cout << Max((int**)A,6,5,1) << endl;中的(int**)A是把二维数组的首地址强制成int **型了,传给函数后就是个指针的指针了,还有什么用?可是不强制的话编译都不会过,因为类型不配。这说明你的构思有错误,就是说函数中的形参int **选择有问题,是不可能接收二维数组的。

c 学习小问题,如何把我这程序中的输出值中选个最大的输出??
首先,您的程序的输入部分定义了两个整数,m 和n,以及一个名为a的二维数组。这些值代表了数组的行数和列数。接着,程序使用`cin`从用户处读取输入,将行数m和列数n的值赋给m和n。之后,程序通过嵌套循环遍历二维数组的元素。然而,这段代码中存在一些问题和混淆之处。为了找到数组中的最大值,...

求二维数组中的最大数及其位置
用c语言,下面是主要部分 int x,y,x_max,y_max,max;int a[m,k];max=0;for(x=0;x<=m;x++){for(y=0;y<=k;y++){ if(i>max){ max=a[x,y];x_max=x;y_max=y;} } } 得出的max就是最大值,(x_max,y_max)是最大值的位置 ...

求二维数组中最大值及其对应的行值和列值
{ double max;int i;max=**p;t=0;for(i=1;i<n;i++)if(max<*(*p+i)){ max=*(*p+i);t=i;} return max;} void main(){ double max,x[3][3]={3,4,5,6,7,8,1,5,7,};int n=3*3,t;max=findMax(x,n,&t);printf("\\n最大值行是:%d,列是%d\\n最大值为%f",...

找出一个8行6列的二维数组s中每行的最大值,并按一一对应的顺序放入一维...
(1)i<8 (2)*(b+i)=a[i][0](3)*(b+i)=a[i][j](4)i<8 (5)maxvalue(num,smax)

C语言中二维数组找到每行的最大值?
int maxArr[M] = { 0 }; \/\/声明一个含有M个元素的一维数组来存储M个行最大值 for (i = 0; i < M; i++){ int max = a[i][0]; \/\/先将每一行的第一个数作为最大值 for (j = 1; j < N; j++) \/\/找出行最大值 if (max < a[i][j])max = a[i][j];maxArr[i...

一个c语言小程序 求二维数组中最大值 这一段有什么错误 在vc++里编译...
int a[3][4]{{1,3,5,7},{2,4,6,8},{15,17,34,12}};改成 int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};

相似回答