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