求数组a中最大值和最小值所在的位置的c语言程序
void main()
{
int a[4][4];
int i,j;
int max,min,rmax,rmin,cmax,cmin;
//给二维数组赋值
for( i=0;i<4;i++)
for( j=0;j<4;j++)
cin>>a[i][j];
/如肢消/输出二渣知维数组
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
cout<<endl;
//求二维数组中最大数、最小数及其行号和列号
max=min=a[0][0];
rmax=rmin=cmax=cmin=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(a[i][j]>max)max=a[i][j],rmax=i,cmax=j;
if(a[i][j]<min){min=a[i][j];rmin=i;cmin=j;}
}
cout<<"max="<<max<<setw(4)<<"最大值所在行列号:("<<rmax+1<<','<<cmax+1<<")\n";
cout<<"min="<<min<<setw(4)<<"最小值所在行列号:("<<rmin+1<<'饥扰,'<<cmin+1<<")\n";
cout<<endl;
int a[N];
struct num
{
int value;
int index;
};
num Max,Min;
........
Max.value=a[0];
Max.index=0;
Min.value=a[0];
Min.value=0;
for(int i=0;i<N;i++)
{
if((a[i]-Max.value)>0)
{
Max.value=a[i];
Max.index=i;
continue;
}
if((a[i]-Max.value)<0)
{
Min.value=a[i];
Min.index=i;
}
}
.......
struct Data{
int maxid;
int minid;
}
void getData(int *a,int len,struct Data * data)
{
int i=0,max=0,min=0;
while(len-->0)
{
if(a[i]>带芦max) max=i;
if(a[i]<min) min=i;
i++;
}
data->maxid=max;
data->蠢岁带雀迟minid=min;
}