一个3* 4矩阵,试编程找出这个矩阵的最大值,并记录最大值所在的行和列。矩阵如数组 a [3][4]={{1,2,3,4},

如题所述

第1个回答  2010-12-16
#include<iostream.h>
void main()
{
int a[3][4]={1,2,3,4,5,6,7,8,9,10,12,11},i,j,max,p,q;
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(max<a[i][j])
{
max=a[i][j];
p=i;
q=j;
}
cout<<"最大值为:"<<max<<endl;
cout<<"所在的行为:"<<p<<endl;
cout<<"所在的列为:"<<q<<endl;
}
这是我编一个简单的程序,你看看或许对你有用,已经运行成功了!!!呵呵~~~
第2个回答  2010-12-16
#include "stdio.h"

void main()
{
int i,j,x=1,y=1,max,a[3][4];
printf("输入一个3*4矩阵:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
if(i==0&&j==0)max=a[i][j];
else if(max<a[i][j])
{
max=a[i][j];
x=i+1;
y=j+1;
}
}
printf("这个矩阵的最大值为:%d,所在行:%d,所在列:%d\n",max,x,y);
}本回答被提问者采纳
第3个回答  2010-12-16
#include<iostream>
using namespace std;
int a[3][4];
void f(int&n,int&m,int&k){ //n表示记录的行,m表示列,k记录最大值
n=1;
m=1;
k=a[0][0];
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
if(a[i][j]>k){
n=i+1;
m=j+1;
k=a[i][j];
}
}
int main()
{
int n,m,k;
for(int i=0;i<3;i++)
for(int j=0;j<4;j++)
cin>>a[i][j];
f(n,m,k);
cout<<n<<"行,"<<m<<"列,值为"<<k<<endl;
return 0;
}
相似回答