问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言鞍点找错~~具体指出错误。谢谢大家

发布网友 发布时间:2022-04-28 12:00

我来回答

1个回答

热心网友 时间:2023-10-08 20:44

首先声明一个问题:一个数组如果有鞍点的话,那么它仅有一个鞍点。好,下面开始分析你的程序。
从这个地方开始:
if(max<a[i][j])
{max=a[i][j];
p=i;m=j;}
该处你应该是找出了第i行的最大值了吧,其实这时候你只要记下列数就可以了(没必要记下行数,因为后面只要跟同一列的数比较就可以了)
你之后的程序思路就错了,事实上我们只要看一下刚刚找到的最大值是否是这一列的最小值就可以了。所以没必要在设置min等变量再去找最小值。
不妨修改如下(前面请自己定义一个flag变量,以作为是否找到鞍点的标志。同时下面我用到的maxj你也可以自己定义一下,maxj就是求出一行的最大值时记下的该数所在的列数):
for(i=0;i<3;i++)
{ max=a[i][0];
maxj=0;
for(j=0;j<3;j++)
{ if(max<a[i][j])
max=a[i][j];
maxj=j;
}
flag=1; /*先假设是鞍点,并用flag=1表示*/
for(k=0;k<3;k++)
if(max>a[k][maxj])
{flag=0;
continue; /*如果一行的最大值不是该列的最小值,就不是鞍点*/
}
if(flag)
printf("鞍点是:a[%d][%d]=%d\n",i,maxj,max);
} /*注意该处的大括号对应的是我所写程序的第一个大括号*/
if(!flag)
printf("it is not exist!");

呃……不是吧!不过说实话我就是根据你的程序改的,现在我把我编的程序给你参考一下吧:
#include <stdio.h>
#define N 4
#define M 5
void main()
{
int i,j,k,a[N][M],max,maxj,flag;
printf("please enter the matrix:\n");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{
max=a[i][0];
maxj=0;
for(j=0;j<M;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
}
flag=1;
for(k=0;k<N;k++)
{
if(max>a[k][maxj])
{
flag=0;
continue;
}
}
if(flag)
{
printf("a[%d][%d]=%d\n",i,maxj,max);
break;
}
}
if(!flag)
printf("It is not exist!\n");
}

热心网友 时间:2023-10-08 20:44

首先声明一个问题:一个数组如果有鞍点的话,那么它仅有一个鞍点。好,下面开始分析你的程序。
从这个地方开始:
if(max<a[i][j])
{max=a[i][j];
p=i;m=j;}
该处你应该是找出了第i行的最大值了吧,其实这时候你只要记下列数就可以了(没必要记下行数,因为后面只要跟同一列的数比较就可以了)
你之后的程序思路就错了,事实上我们只要看一下刚刚找到的最大值是否是这一列的最小值就可以了。所以没必要在设置min等变量再去找最小值。
不妨修改如下(前面请自己定义一个flag变量,以作为是否找到鞍点的标志。同时下面我用到的maxj你也可以自己定义一下,maxj就是求出一行的最大值时记下的该数所在的列数):
for(i=0;i<3;i++)
{ max=a[i][0];
maxj=0;
for(j=0;j<3;j++)
{ if(max<a[i][j])
max=a[i][j];
maxj=j;
}
flag=1; /*先假设是鞍点,并用flag=1表示*/
for(k=0;k<3;k++)
if(max>a[k][maxj])
{flag=0;
continue; /*如果一行的最大值不是该列的最小值,就不是鞍点*/
}
if(flag)
printf("鞍点是:a[%d][%d]=%d\n",i,maxj,max);
} /*注意该处的大括号对应的是我所写程序的第一个大括号*/
if(!flag)
printf("it is not exist!");

呃……不是吧!不过说实话我就是根据你的程序改的,现在我把我编的程序给你参考一下吧:
#include <stdio.h>
#define N 4
#define M 5
void main()
{
int i,j,k,a[N][M],max,maxj,flag;
printf("please enter the matrix:\n");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{
max=a[i][0];
maxj=0;
for(j=0;j<M;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
}
flag=1;
for(k=0;k<N;k++)
{
if(max>a[k][maxj])
{
flag=0;
continue;
}
}
if(flag)
{
printf("a[%d][%d]=%d\n",i,maxj,max);
break;
}
}
if(!flag)
printf("It is not exist!\n");
}

热心网友 时间:2023-10-08 20:44

首先声明一个问题:一个数组如果有鞍点的话,那么它仅有一个鞍点。好,下面开始分析你的程序。
从这个地方开始:
if(max<a[i][j])
{max=a[i][j];
p=i;m=j;}
该处你应该是找出了第i行的最大值了吧,其实这时候你只要记下列数就可以了(没必要记下行数,因为后面只要跟同一列的数比较就可以了)
你之后的程序思路就错了,事实上我们只要看一下刚刚找到的最大值是否是这一列的最小值就可以了。所以没必要在设置min等变量再去找最小值。
不妨修改如下(前面请自己定义一个flag变量,以作为是否找到鞍点的标志。同时下面我用到的maxj你也可以自己定义一下,maxj就是求出一行的最大值时记下的该数所在的列数):
for(i=0;i<3;i++)
{ max=a[i][0];
maxj=0;
for(j=0;j<3;j++)
{ if(max<a[i][j])
max=a[i][j];
maxj=j;
}
flag=1; /*先假设是鞍点,并用flag=1表示*/
for(k=0;k<3;k++)
if(max>a[k][maxj])
{flag=0;
continue; /*如果一行的最大值不是该列的最小值,就不是鞍点*/
}
if(flag)
printf("鞍点是:a[%d][%d]=%d\n",i,maxj,max);
} /*注意该处的大括号对应的是我所写程序的第一个大括号*/
if(!flag)
printf("it is not exist!");

呃……不是吧!不过说实话我就是根据你的程序改的,现在我把我编的程序给你参考一下吧:
#include <stdio.h>
#define N 4
#define M 5
void main()
{
int i,j,k,a[N][M],max,maxj,flag;
printf("please enter the matrix:\n");
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
{
max=a[i][0];
maxj=0;
for(j=0;j<M;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
maxj=j;
}
}
flag=1;
for(k=0;k<N;k++)
{
if(max>a[k][maxj])
{
flag=0;
continue;
}
}
if(flag)
{
printf("a[%d][%d]=%d\n",i,maxj,max);
break;
}
}
if(!flag)
printf("It is not exist!\n");
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 我是安徽人老婆生病了买了外面的进口药医农保可报销2019年5月做的手术需要进口药。 c语言编程 求鞍点 找出二维数组中的鞍点,c语言 怎么在网上交医保农保? C语言求鞍点的题目 C语言 《鞍点》 题目 具体要求在下面。谢啦!!☆⌒(*^-゜)v 医农保全国可通用吗 c语言程序设计有关鞍点的问题 哪家公司可以做医院(HIS)医保农保接口?比较好点的。推荐一下哈(针对民营医院) 用C语言编辑 鞍点计算 C语言实验题——鞍点 C语言中关于二维数组的“鞍点”问题 C语言 找鞍点 C语言鞍点问题 C语言寻找矩阵的鞍点 c语言 求二维数组的鞍点 c语言求鞍点! C语言编程题,找鞍点 男士美白洗面奶哪个牌子洗得最白 男士增白的洗面奶那个比较好? 医保转农保 c语言选择法求是否有鞍点 怎样学习写代码?是否要先学习c语言,在学c++……,从入门到精通是什么过程? c语言问题 找矩阵中的鞍点 大家都用什么医疗软件,医疗挂号系统? c语言举一个没有鞍点的例子 特殊病种要缴农保吗 新农保大病医疗申请 农保医疗保我要交440了,年年长? 考研英语2004阅读理解TEXT1 有一句是这样的:Redmon E-mailed his resume to the employer and won a 考研英语2004年真题阅读第一篇文章 求2004年考研英语一翻译真题及解析? 2004年考研英语一真题答案解析 历年考研英语真题解析及复习思路的图书目录 2004年考研英语真题题目类型有哪些 考研英语阅读出自哪? 考研英语2003年text1 考研英语核心词汇 说文解词 下载 考研英语,2006年,text1,图里面,第四句中的viewed和suggest怎么翻译的? 考研英语,2006年,text1,第三句怎么翻译?