求一個(gè)二維數(shù)組的鞍點(diǎn)(該行最大,該列最小的元素)
大一萌新求改錯(cuò)
#include<stdio.h>
int main()
{
int x,y;
printf("請(qǐng)告訴我你想輸入的數(shù)組有幾行幾列\(zhòng)n");
scanf("%d,%d",&x,&y);
printf("\n");
printf("請(qǐng)輸入這個(gè)數(shù)組\n");
int a[x][y]={0},i,j;
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
scanf("%d",&a[i][j]);
} }
int p[x]={0},q[y]={0};
for(i=0;i<x;i++)
p[i]=a[i][0];
for(j=0;j<y;j++)
q[j]=a[0][j];
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
if(a[i][j]>p[i])
p[i]=a[i][j];
} }
for(j=0;j<y;j++)
{
for(i=0;i<x;i++)
{
if(a[i][j]<q[j])
q[j]=a[i][j];
} }
for(i=0;i<x;i++)
{
for(j=0;j<y;j++)
{
if(p[i]==q[j])
printf("%d\n",p[i]); } }
return 0;
}
2017-12-15
#include <stdio.h>
int a[105][105];
int main(){
??? int n;
??? while (~scanf("%d",&n)){
??????? for (int i=0;i<n;i++)
??????????? for (int j=0;j<n;j++)
??????????????? scanf("%d",&a[i][j]);
int k=0;
??????? for (int i=0;i<n;i++){
??????????? for (int j=0;j<n;j++){
??????????????? int flag=0;
??????????????? for (int ii=0;ii<n;ii++){ ? ? ? ? ? ? ? ? ? ?if (ii==i) continue;
??????????????????? if (a[ii][j]<a[i][j]){
??????????????????????? flag=1;
??????????????????????? break;
??????????????????? }
??????????????? }
??????????????? for (int jj=0;jj<n;jj++){
??????????????????? if (jj==j) continue;
??????????????????? if (a[i][jj]>a[i][j]){
??????????????????????? flag=1;
??????????????????????? break;
??????????????????? }
??????????????? }
??????????????? if (flag==0){
??????????????????? printf("%d %d\n",i,j);
k++;
??????????????? }
??????????? }
??????? }
if (!k) printf("NO\n");
??? }
??? return 0;
}