西电数据结构上机题——寻找马鞍点
【摘要】
注意有个坑,输入定死是从1开始,导致我一开始检查了半天才发现。
//找马鞍点程序代码
#include<stdio.h>
#include<malloc.h>
//数组的结构类型...
注意有个坑,输入定死是从1开始,导致我一开始检查了半天才发现。
//找马鞍点程序代码
#include<stdio.h>
#include<malloc.h>
//数组的结构类型定义
const int m=3;
const int n=3;
typedef struct{
int A[m+1][n+1];
int max[m+1],min[n+1];
}array;
void minmax(array*);
int main()
{
array*pa=(array*)malloc(sizeof(array));
int i, j;
for (i=1;i<=m;i++)
for (j=1;j<=n;j++)
scanf("%d",&pa->A[i][j]);
minmax(pa);
}
//添加找马鞍点算法
void minmax(array*pa)
{
int i,j;
for(i=1;i<=m;i++)//找出每一行的最小值
{
pa->min[i]=pa->A[i][1];
for(j=1;j<=n;j++)
{
if(pa->A[i][j]<pa->min[i])
{
pa->min[i]=pa->A[i][j];
}
}
}
for(j=1;j<=n;j++)//找出每一列的最大值
{
pa->max[j]=pa->A[1][j];
for(i=1;i<=m;i++)
{
if(pa->A[i][j]>pa->max[j])
{
pa->max[j]=pa->A[i][j];
}
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(pa->min[i]==pa->max[j])printf("%d ",pa->min[i]);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
注:最后输出部分代码存在一些问题,对于多马鞍点的情况需要进行一些修正,这里留给读者自行思考。
文章来源: zstar.blog.csdn.net,作者:zstar-_,版权归原作者所有,如需转载,请联系作者。
原文链接:zstar.blog.csdn.net/article/details/109630844
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)