学校作业:马鞍数求助
求一个5×5矩阵中的马鞍数,输出它的位置。马鞍数是指在行上最小但在列上最大的数示例输入
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8
示例输出
给出代码:
blank = []
for i in range(5):
a = input()
b =
blank.append(b)
blank2 = []
for line in blank:
for each in line:
if each == min(line):
blank2.append()
for i in range(5):
if blank[(blank2)][(blank2)] == max(] for k in range(5)]):
print(blank2)
发现错误,求正确代码和指出错误原因 #include <stdio.h>
#define M 5 //最大接收M行N列的数组,这里是10*10,可修改。
#define N 5
int main()
{
int a, b;
int i, j, k, s = 0, max, min, count = 0;
printf("输入数组元素:");
for (i = 0;i < M;i++) // 输入数组
{
for (j = 0;j < N;j++)
{
scanf("%d", &a);
}
}
// 打印数组
for (i = 0;i < M;i++)
{
for (j = 0;j < N;j++)
{
printf("%5d", a);
}
printf("\n");
}
//查找判断鞍点
for (i = 0;i < M;i++)
{
max = a;
for (j = 0;j < N;j++) // 找第i行最大值
if(a > max)
max = a;
s = 0;
for (j = 0;j < N;j++) //将最大值所在的列存入数组b中
if(a = max)
{
b = j;
s++; //s的值就是最大值的个数
}
min = max;
for (i = 0;i < s;i++) //有几个最大值循环判断几次
{
for (k = 0;k < M;k++) //判断这个行最大值是不是列最小
{
if (min > a])
{
break;
}
}
if (k == M) //输出,count为鞍点个数
printf("鞍点为第%d行第%d列的%d\n", j + 1, b + 1, a]);
count++;
}
}
printf("该二维数组没有鞍点\n");
} 风过无痕1989 发表于 2020-12-23 16:52
您好,请问能改成python形式吗? 要求是用python做 晕,你要的是马鞍数,不是鞍点。下面的程序是求马鞍数的:
#include <stdio.h>
#define M 5 //最大接收M行N列的数组,这里是10*10,可修改。
#define N 5
int main()
{
int a, b;
int i, j, k, n, s = 0, max, min, count = 0;
printf("输入数组元素:");
for (i = 0;i < M;i++) // 输入数组
{
for (j = 0;j < N;j++)
{
scanf("%d", &a);
}
}
// 打印数组
for (i = 0;i < M;i++)
{
for (j = 0;j < N;j++)
{
printf("%3d", a);
}
printf("\n");
}
//查找判断马鞍数
for (i = 0;i < M;i++)
{
min = a; // 将每行的第一个元素设为最小值
for (j = 0;j < N;j++) // 找第i行最小值
{
if (a < min)
{
min = a;
}
}
s = 0; //s的值就是最小值的个数
for (j = 0;j < N;j++) //将最小值所在的列存入数组b中
{
if (a == min)
{
b = j;
s++;
}
}
max = min;
for (n = 0;n < s;n++) //有几个最小值循环判断几次
{
for (k = 0;k < M;k++) //判断这个行最小值是不是列最大
{
if (a] > max)
{
break;
}
}
if (k == M) //输出,count为马鞍点个数
printf("马鞍数为第%d行第%d列的%d\n", i + 1, b + 1, a]);
count++;
}
}
if(count == 0)
printf("该二维数组没有马鞍数\n");
} spontaneous 发表于 2020-12-23 18:17
要求是用python做
更晕了,一个下午,我白打工了。我已经找人帮你去改了 风过无痕1989 发表于 2020-12-23 19:28
更晕了,一个下午,我白打工了。我已经找人帮你去改了
感谢你,我已解决问题。 spontaneous 发表于 2020-12-24 15:37
感谢你,我已解决问题。
我也谢谢你!我找的那个朋友,说是要备考,只能抽时间来看看
页:
[1]