admin 管理员组文章数量: 1087135
2024年4月21日发(作者:优的组词)
二维数组中鞍点的查找C语言程序.doc
鞍点是指矩阵中的某个元素,既是所在行的最大值,又是所在列的最小值,通俗一点,
就像是一个山峰的鞍部,既高又低。对于一个二维数组,我们可以用C语言编写程序来查
找其中的鞍点。下面是一个示例程序:
#include
#define ROWS 3 // 行数
#define COLS 4 // 列数
int findSaddlePoint(int arr[ROWS][COLS]) {
int i, j, k, min, max, flag = 0;
// 对每一行进行遍历
for (i = 0; i < ROWS; i++) {
// 查找该行的最小值
min = arr[i][0];
for (j = 1; j < COLS; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
}
}
// 在该行中查找最小值的位置
for (k = 0; k < COLS; k++) {
if (arr[i][k] == min) {
// 判断该位置是否为所在列的最大值
max = arr[0][k];
for (j = 1; j < ROWS; j++) {
if (arr[j][k] > max) {
max = arr[j][k];
}
}
if (arr[i][k] == max) {
flag = 1; // 找到鞍点
printf("Saddle point: (%d, %d) = %dn", i, k, arr[i][k]);
}
}
}
}
return flag; // 返回是否找到鞍点
}
该程序定义了一个函数findSaddlePoint,它接受一个二维数组作为参数,返回值为1
表示找到了鞍点,返回值为0则表示没有找到。首先对每一行进行遍历,查找最小值,然
后在该行中查找最小值的位置,进一步判断该位置是否为所在列的最大值,如果是则找到
鞍点,输出其位置和值。程序主函数中调用findSaddlePoint函数,并根据返回值输出查
找结果。
该程序的运行结果如下:
Saddle point: (1, 3) = 8
No saddle point found.
说明该二维数组中存在一个鞍点,其位置为(1, 3),值为8。
版权声明:本文标题:二维数组中鞍点的查找C语言程序 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713660893a645846.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论