有一个5*5的矩阵,矩阵中每行只有一个最大值,每列只有一个最小值,要求找出该矩阵的鞍点。什么是鞍点?即矩阵中的一个元素,即是所在行的最大值,又是所在列的最小值。
要求如果有鞍点输出它的坐标和值,如果没有鞍点则输出“无鞍点”,怎样用C++实现这一运算呢?小编与大家分享编程。
操作方法
-
01
鞍点为矩阵元素所在行的最大值,以及所在列的最小值。
-
02
首先,定义3个整型变量,保存控制循环的变量,以及标志是否有鞍点。
-
03
接着,定义三个整型数组变量,保存矩阵各元素,以及每一行的最大值和每一列的最小值。
-
04
设置最大值数组和最小值数组的初值,用memset函数实现。
-
05
然后,用两层循环,控制输入矩阵的各元素。
-
06
用两层for循环,控制每一行最大值、每一列最小值的获取。
-
07
用if语句,控制每一行最大值的获取。
-
08
继续用if语句,获取矩阵每一列的最小值。
-
09
然后,逐个读取矩阵中的元素,判断是否鞍点,如果是鞍点则输出坐标和值。
-
10
最后,当矩阵中没有鞍点时,输出此矩阵无鞍点的信息。
-
11
运行程序,当输入一个5*5矩阵后,电脑就会判断出有无鞍点,并输出鞍点的坐标和值。