数据结构中的求一个矩阵的马鞍点
请编写一个完整的程序,如果矩阵A中存在这样的一个元素A[i,j]满足条件A[i,j]是第i行的值最小的元素,且又是第j列中最大的元素,则称之为该矩阵的一个马鞍点。
代码如下:#include #define m 3 #define n 3 /*求矩阵A中的马鞍点*/ void Get_Saddle(int A[m][n]) { /* 基本思想:1.首先它是一个二维数组,需要遍历每一行,需要一个for循环,且需要放在最外层 2.然后,依次从每一行中横向遍历到最后(直到本行结束),找到最小值 1)又需要一层循环,循环结束至这一行中的最后位置, 2)找的最小值,记录最小值所在列数 3.找到最小值之后,用一个变量minCol记下当前列数 4.顺这当前列数竖向遍历(从当前列第一行开始向下)判断是否是最大的,如果是,则这个元素就是整个矩阵的马鞍点 1)又需要一个循环,用来遍历竖向遍历 */ int i,j,k; int flag,min,minCol; for(i=0;i