发布网友
共2个回答
热心网友
代码如下:
#include <stdio.h>
int main()
{
int n,m;
printf("Input row and col:");
scanf("%d %d",&n,&m);
printf("Please input data:\n");
int data[n][m] = {0};
for(int i = 0; i < n; i++){
for(int j =0;j<m;j++){
scanf("%d",&data[i][j]);
}
}
// 最大值,最小值
int max = data[0][0];
int min = data[0][0];
int i0,j0,i1,j1;
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m;j++)
{
if(data[i][j] >= max)
{
max = data[i][j];
i0 = i; j0 = j;
}
if(data[i][j] <= min)
{
min = data[i][j];
i1 = i; j1 = j;
}
printf("%d\t",data[i][j]);
}
printf("\n");
}
printf("max = %d; position: (%d,%d)\n",max, i0,j0);
printf("min = %d; position: (%d,%d)\n",min,i1,j1);
}
运行结果:
热心网友
#include<iostream>
#include<iomanip>
using namespace std;
const int LEN=5;
void find(int num[][LEN],int *pMax,int *pMaxR, int *pMaxC,int *pMin,int *pMinR,int *pMinC){
*pMax=num[0][0],*pMaxR=0,*pMaxC=0, *pMin=num[0][0],*pMinR=0,*pMinC=0;
for(int r=0;r<LEN;r++){
for(int c=0;c<LEN;c++){
if(num[r][c]<*pMin){
*pMin=num[r][c];
*pMinR=r;
*pMinC=c;
}else if(num[r][c]>*pMax){
*pMax=num[r][c];
*pMaxR=r;
*pMaxC=c;
}
}
}
}
int main() {
int sz[LEN][LEN]={{77,59,14,19,33},{62,48,58,31,7},{90,78,97,91,8},
{87,94,22,37,42},{5,11,79,18,69}};
int max,min,rmax,cmax,rmin,cmin;
cout<<"二维数组"<<endl;
for(int r=0;r<LEN;r++){
for(int c=0;c<LEN;c++){
cout.width(3);
cout<<sz[r][c];
}
cout<<endl;
}
find(sz,&max,&rmax,&cmax,&min,&rmin,&cmin);
cout<<"最大值:"<<max<<" 行下标:"<<rmax<<" 列下标:"<<cmax<<endl;
cout<<"最小值:"<<min<<" 行下标:"<<rmin<<" 列下标:"<<cmin<<endl;
return 0;
}