用c语言编写一个求鞍点的程序,

鞍点即在该行上最大,该列上最小。谢谢!

先找行上最大的数,再看看在列上是否最小就OK了~
参考下面代码
#include < stdio.h>
#define MAX_BUF 300
void func(int *A, int rows, int cols, int* result, int resultsize)
{
int i,j,tc,flag,cul=0;
for(i=0;i<rows;++i)
{

for(j=0,tc=0;j<cols;++j)
{
if(*(A+i*cols+j) > *(A+i*cols +tc))
tc=j;
}
flag = 1;
for(j=0;j<rows;++j)
{
if(*(A+j*cols +tc) < *(A+i*cols+tc) && i != j)
{
flag = 0;
break;
}
}
if(flag)
{
if(cul< resultsize-3)
{
result[cul]=i;
result[cul+1] = tc;
result[cul+2] = *(A+i*cols+tc);
cul += 3;
}
else
{
break;
}

}

}
result[cul] = -1;
}

int main()
{
int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};//结果应为3
int Res[MAX_BUF];
int i = 0;
func(&(A[0][0]),3,3,Res,MAX_BUF);

while(Res[i] != -1)
{
printf("第%d行,第%d 列 为鞍数 :%d\n",Res[i]+1,Res[i+1]+1,Res[i+2]);
i+=3;
}

}
/*
输出:第1行,第3 列 为鞍数 :3
*/
温馨提示:内容为网友见解,仅供参考
无其他回答

用c语言编写一个求鞍点的程序,
func(&(A[0][0]),3,3,Res,MAX_BUF);while(Res[i] != -1){ printf("第%d行,第%d 列 为鞍数 :%d\\n",Res[i]+1,Res[i+1]+1,Res[i+2]);i+=3;} } \/ 输出:第1行,第3 列 为鞍数 :3 \/

请帮忙解释下这个C语言求鞍点的程序,思路是怎样的,详细点。
return 1;}

找出二维数组中的鞍点,c语言
{ printf("鞍点为:%d\\n",a[m][n]);printf("此时m=%d; n=%d\\n",m,n);break;} else if(i>=3)printf("no an dian");} } 已编译出,是正确的,如果哪里不懂,再联系我。希望对你有帮助

c语言 鞍点问题
if(min>a[k][n]) flag=1; } if(flag==0) {t=1;printf("%d\\n",a[m][n]);} flag=0; } if(t==0) printf("NO");}\/\/找矩阵中的鞍点\/*这里做的是3行4列的矩阵,其它矩阵同理,刚开始学C时做的,以前有保存过就从邮箱中翻出来给你了*\/ 本回答由电脑网络分类达人 李孝忠推荐 举报| 答...

鞍点C语言求鞍点代码
在C语言中,鞍点查找通常用于处理矩阵数据,以寻找具有特定条件的元素对。以下是一个简单的程序,用于在给定的矩阵中查找鞍点。首先,程序定义了几个宏和函数,如Input()、CreatTureMatrix()、Print()和OutPrint(),它们分别用于输入矩阵、创建真值矩阵、打印矩阵和输出鞍点信息。在main()函数中,程序首先...

C语言找鞍点问题?求大神帮助
int a[6][6],nn;int i,j,k,i0,j0,find=0;scanf("%d",&nn);for(i=0;i<nn;i++)for(j=0;j<nn;j++)scanf("%d",&a[i][j]);for(i=0;i<nn;i++) \/\/穷举所有的行 { j0=0;for(j=1;j<nn;j++)if(a[i][j]>a[i][j0])j0=j; \/\/找到第i行上最大的数a...

c语言查找二维数组的鞍点 新生求助大佬
C语言查找二维数组的鞍点详细代码如图:具体思路:一、先把每行的最大值求出来×到数组;二、依次遍历每行,如果其值等于最大值,再判断在列中是否最小即可。三、输出结果。

c语言 求二维数组的鞍点
} min=array[0][k];for(j=0;j<N;j++)\/\/用行来进行列比较 { if(min>array[k])\/\/若在该列中有更小的,则赋值与min min=array[k];} if(min==max){ printf("小标为%d,%d,鞍点为:%d",i+1,k,max);} } printf("搜索结束\\n");return;} ...

C语言 《鞍点》 题目 具体要求在下面。谢啦!!☆⌒(*^-゜)v
include <stdio.h>int main(){ int n, m, ai[100][100], max[100], min[100], i, j; while (scanf("%d%d", &n, &m) != EOF) { for (i = 0; i < n; i++) for (j = 0; j < m; j++) scanf("%d", &ai[i][j]); for (i = 0; i < m; i++...

c语言编程 求鞍点
int flag,i,j,k,row,col,n,a[6][6];scanf("%d",&repeat);for(ri=1;ri<=repeat;ri++){ scanf("%d",&n);for(i=0; i<n; i++)for(j=0; j<n; j++)scanf("%d",&a[i][j]);\/*开始编程*\/ for(int i=0;i<n;i++){ int rowmax=a[i][0];for(j=0;j<n;j++...

相似回答