<1> Title Description

Find a saddle point in a two-dimensional array , That is, the element at this position is the largest on this line , Minimum on this column . There may also be no saddle point
1 2 3 4 5 6 7 8 9 //3 Saddle points in the two-dimensional array
<2> Train of thought analysis

* Find the largest number in the first row first a
* take a Compare with other numbers in the column , If it is the smallest , Then output a
* If a Not the minimum number of columns , Then find the smallest number in the second row b, Repeat step 2 , Until the saddle point is found
* If the maximum number in each row is not a saddle point , Then the array has no saddle point
<3> code implementation
#include <stdio.h> #define ROW 3 // Macro definition line #define COL 3 // Macro definition column int main() { int
a[ROW][COL] = { {2,2,1},{4,5,6},{1,7,9} }; int k = 0; int j = 0; int i = 0; int
m = 0; for (i=0;i<ROW;i++) { int max = a[i][j]; // Find the largest number in the first line a for (j = 0; j <
COL; j++) { if (a[i][j] > max) { max = a[i][j]; // After the second floor cycle is completed , The max It must be the largest number in the line m
= j; // Record the column with the largest number } } j = 0; // judge a Is it the minimum number in the column for (k = 0; k < ROW; k++) { if
(max > a[k][m]) { break; } } if (k == ROW) // indicate a Is the smallest number in the column { printf(" Saddle point is a[%d][%d]
= %d", i, m, max); break; } else k = 0; } if (i == ROW) printf(" The 2D array has no saddle points \n");
return 0; }
<4> Result presentation

 

Technology