【C语言】找出一个二维数组的“鞍点”【原创技术】
(2012-04-08 12:58:54)
标签:
鞍点宋体输入行元素列数it |
分类: C语言 |
题目:
找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。
源代码:
找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。
源代码:
#include"stdio.h"
#defineN 10
#defineM 10
voidmain( )
{
int i, j, k, m, n, flag1, flag2, a[N][M],max, maxj;
printf("输入行列数 n 和 m:");
scanf("%d%d", &n,&m);
for (i =0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[j]);
flag2=0;
for(i =0; i <n; i ++)//找第i行的鞍点
{
max=a[0];
for(j=0;j<m;j++)
if(a[j]>max)
{
max=a[j];
maxj=j;
}
for(k=0,flag1=1;k<n&&flag1;k++) //判断max是否在该列上最小flag1=0则不是最小
if(max<a[k][maxj]) ; //max不是该列的最小元素
{
printf("\n第%d 行第%d 列的%d 是鞍点\n", i+1,maxj+1,max);
flag2=1;
}
if(flag1) flag1=0;
}
if(!flag2) printf("\n 矩阵中无鞍点!\n ");
}
更多详细内容:

加载中…