c++函数 设已知矩阵 int mat[8][8]。如某元素在所在行与所在列中均为最大值或最小值,则被称为极点;如某元素在所在行中是最大值,在所在列中是最小值,则被称为鞍点。编程找出矩阵mat中的所有极点与鞍点。(本人萌新,所以程序可能很复杂,不过能用)(分二维数组和指针)
//运用二维数组
#include<iostream>
using namespace std;
//该函数用来寻找极点(行列最小)
void polemin (int a[8][8])
{
for(int i=0;i<8;i++) //确定行数
{
int t=a[i][0];
int maxr=0;
for(int j=1;j<8;j++) //进行行检查,找出行中最小的值极其所在行列
{
if(a[i][j]<t)
{
t=a[i][j]; //找到更小值
maxr=j; //找到更小值的列
}
}
for(int k=0;k<8;k++) //进行列检查,确定行最小值是不是列最小值
{
if(a[k][maxr]<t) break; //不是列最小值直接结束循环
if(a[k][maxr]>t) continue; //是更小值则继续往下检查
}
if(k==8) cout << t <<" "; //满足条件极为极点,输出
}
cout << "以上是该数列的极点(行列最小值)" << endl;
}
//该函数用来寻找极点(行列最大)
void polemax (int b[8][8])
{
for(int i=0;i<8;i++)
{
int t=b[i][0];
int minr=0;
for(int j=1;j<8;j++)
{
if(b[i][j]>t)
{
t=b