找出一个二维数组中的鞍点
2023-12-18 22:44:52
找出一个二维数组中的鞍点,即该位置上的元素在该行上的最大、在该列上最小。也有可能没有鞍点。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a[10][10] = { 0 };
int n = 0, m = 0;
int i = 0, j = 0;
printf("请输入这个数组有n行m列:");
scanf("%d %d",&n,&m);
printf("请输入这个数组:\n");
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf("%d",&a[i][j]);
}
}
//比较每一行的最大值
int max[10] = { 0 };
for (i = 0; i < n; i++)
{
max[i] = a[i][j];
for (j = 0; j < m; j++)
{
if (a[i][j] > max[i])
max[i] = a[i][j];
}
}
int min[10] = { 0 };
for (i = 0; i < m; i++)
{
min[i] = a[0][i];
for (j = 0; j < n; j++)
{
if (a[j][i] < min[i])
min[i] = a[j][i];
}
}
int flag = 0;
int c = 0, b = 0,d=0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (max[i] == min[j])
{
flag = 1;
c = i;
b = j;
d = max[i];
}
}
}
if (flag == 1)
{
printf("(%d,%d) %d\n", c, b,d);
}
else
printf("没有按点\n");
return 0;
}
输出结果:
文章来源:https://blog.csdn.net/2301_78189441/article/details/135072205
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!