C语言鞍点数组改进版

news/2024/12/22 14:30:18/

题目内容:

给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。

你的任务是找出A的鞍点。

改进目标:

网络上很多视频和博客都没有考虑到如果某一行最大数值MAX出现相等的情况,极端一点,当数组元素全部相等的时候,所有的点其实都是鞍点,以下程序是我针对这一问题做的一些改进

#include<stdio.h>
#define M 4
#define N 4
//用来存放鞍点坐标的结构体
struct zuobiao
{int row[M];int colum[N];int n;
}zb;int main() {int a[M][N] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };//实验数据//int a[M][N] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, };//实验数据//int a[M][N] = { 1, 2, 3, 4, 5, 6, 7, 9, 9, 0, 1, 7, 3, 4, 5, 6, };//实验数据int max, min;int flag1 = 0, flag2 = 0;int j;//输出数组for (int i = 0; i < M; i++) {for (j = 0; j < N; j++) {printf("%5d", a[i][j]);}printf("\n");}//鞍点for (int i = 0; i < M; i++) {max = a[i][0];zb.row[0] = i, zb.colum[0] = 0;zb.n = 1;flag1 = 0;for (j = 1; j < N; j++) {if (a[i][j] > max) {zb.n = 1;max = a[i][j];zb.row[zb.n -1] = i;zb.colum[zb.n -1] = j;}else if (a[i][j] == max) {zb.n ++;max = a[i][j];zb.row[zb.n - 1] = i;zb.colum[zb.n - 1] = j;}}min = max;for (j = 0; j < zb.n; j++){for (int k = 0; k < M; k++) {if (a[k][zb.colum[j]] < min) {flag1 = 1;break;}}if (!flag1) {flag2 = 1;printf("鞍点%d的行: %d   列: %d\n", max, zb.row[j], zb.colum[j]);}}		}if (!flag2) {printf("该数组没有鞍点\n");}return 0;
}


http://www.ppmy.cn/news/1187785.html

相关文章

innovus/ICC2:ndr rule如何设置

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 ICC2 create_routing_rule icc2rm_2w2s -default_reference_rule -multiplier_width 2 -multiplier_spacing 2 innovus add_ndr -name ndr_2w2s -spacing_multiplier {M4:M9…

【Java】方法

方法定义 方法就相当于C语言中的函数&#xff1b; 在Java中&#xff0c;方法是不能嵌套定义的&#xff1b; public static 返回值 方法名&#xff08;形式参数列表&#xff09;{方法体} // public是修饰符 // static是关键字 // 当方法有返回值时&#xff0c;任何情况下都需…

学习笔记|单样本t检验|P值|两独立样本均数T检验|规范表达|《小白爱上SPSS》课程:SPSS第五讲 | 两独立样本均数T检验,你会了吗?

目录 学习目的软件版本原始文档P值是假设检验的终极者两独立样本均数T检验一、实战案例二、案例解析三、统计策略四、SPSS操作1、正态性检验2、T检验&#xff08;独立样本T检验&#xff09;结果 五、结果解读Tips&#xff1a;补充知识 六、规范报告1、规范表格2、规范文字 注意…

代码随想录Day33 LeetCode T62不同路径 LeetCode T63 不同路径II

前言 动规五部曲 1.确定dp数组含义 2.确定递推公式 3.初始化数组 4.确定遍历方式 5.打印dp数组查看分析问题 LeetCode T62 不同路径 题目链接:62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 题目思路: 注:n行m列而不是m行n列 1.确定dp数组含义 代表到达此下标有多少条…

订单管理功能实现

服务端异常,请联系管理员<br/>Could not find result map com.java1234.mapper.OrderMapper.Long referenced from com.java1234.mapper.OrderMapper.getTotal服务端异常,请联系管理员<br/>Could not find parameter map com.java1234.mapper.WxUserInfoMapper.S…

计网小题题库整理第一轮(面向期末基础)(2)

该系列第二期&#xff0c;第一期链接在这~ 计网小题题库整理第一轮&#xff08;面向期末基础&#xff09;&#xff08;1&#xff09;https://blog.csdn.net/jsl123x/article/details/134030486?spm1001.2014.3001.5501 一.选择题 1、Internet的前身是 &#xff08;C &#x…

2023年【道路运输企业安全生产管理人员】考试内容及道路运输企业安全生产管理人员新版试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 道路运输企业安全生产管理人员考试内容是安全生产模拟考试一点通总题库中生成的一套道路运输企业安全生产管理人员新版试题&#xff0c;安全生产模拟考试一点通上道路运输企业安全生产管理人员作业手机同步练习。2023…

安防监控项目---web网页下发命令控制蜂鸣器(蜂鸣器响起来)

文章目录 前言一、蜂鸣器的CGI接口二、请求线程和硬件操作2.1 请求线程2.2 buzzer蜂鸣器线程 总结 前言 书接上期&#xff0c;和大家分享了web下发命令控制led之后呢&#xff0c;相信大家已经迫不及待的想要试一下是不是蜂鸣器也能响起来呢&#xff01;哈哈哈&#xff0c;别说…