编写程序 找出一个二维数组中的鞍点

编写程序 找出一个二维数组中的鞍点,第1张

#include <stdio.h>

#define N 4

#define M 5

void main()

{ int i,j,k,a[N][M],max,maxj,flag

printf("please input matrix:\n")

for(i=0i<Ni++)

for(j=0j<Mj++) scanf("%d",&a[i][j])

for(i=0i<Ni++)

{ max=a[i][0] maxj=0

for(j=0j<Mj++)

if(a[i][j]>max){ max=a[i][j] maxj=j }

flag=1

for(k=0k<Nk++)

if(max>a[k][maxj]) { flag=0 continue}

if(flag)

{printf("a[%d][%d]=%d\n",i,maxj,max)break} }

if(!flag)printf("Tt is not exist!\n")}

#include <stdio.h>

int a[3][4]={0}

int min(int y)//第y+1列的最小值 所在的行

{

int i,temp,min=0

for(i=1i<3i++)

{

if(a[min][y]>a[i][y])

min=i

}

return min

}

int max(int x)//第x+1行的最大值 所在的列

{

int j,temp,max=0

for(j=1j<4j++)

{

if(a[x][max]<a[x][j])

max=j

}

return max

}

int main()

{

int i,j,temp,count=1

puts("输入二维数组:\n")

for(i=0i<3i++)

{

printf("输入第%d行:\n",i+1)

scanf("%d %d %d %d",&a[i][0],&a[i][1],&a[i][2],&a[i][3])

}//输入数组

for(i=0i<3i++)

{

j=max(i)

temp=min(j)

if(temp==i)

{

printf("鞍点为%d行%d列的%d\n",i+1,j+1,a[i][j])

count++

}

}

if(count==0)

printf("没有鞍点")

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8131203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存