| Цитата | 0:: #include "stdio.h" 1:: #include "stdlib.h" 2:: 3:: #include "conio.h" 4:: 5:: #define N 6 6:: #define M 6 7:: 8:: int saddle[ N ][ 2 ]; 9:: 10:: void Print( int m_val[][ M ] ) 11:: { 12:: textattr( '\x0d' ); 13:: 14:: for( int i=0, c=0; i<N; i++ ) 15:: { 16:: for( int j=0; j<M; j++ ) 17:: if( i==saddle[ c ][ 0 ] && j==saddle[ c ][ 1 ] ) 18:: { 19:: cprintf( "%4d", m_val[ i ][ j ] ); 20:: ++c; 21:: } 22:: else 23:: printf( "%4d", m_val[ i ][ j ] ); 24:: putc( '\n', stdout ); 25:: } 26:: putc( '\n', stdout ); 27:: } 28:: 29:: 30:: void saddle_node( int m_val[][ M ] ) 31:: { 32:: int i, j, q=0, c, _saddle=0, min; 33:: 34:: for( i=0; i<M; i++ ) 35:: { 36:: //найдем элемент ряда соответствующий максимальному элементу столбца 37:: min=m_val[ 0 ][ i ]; 38:: for( j=0, _saddle=0; j<N; j++ ) 39:: { 40:: if( min<m_val[ j ][ i ] ) 41:: { 42:: min=m_val[ j ][ i ]; 43:: _saddle=j; 44:: } 45:: } 46:: 47:: //проверим седловой ли он 48:: for( c=0; c<M; c++ ) 49:: if( m_val[ _saddle ][ c ]<m_val[ _saddle ][ i ] ) 50:: break; 51:: 52:: if( c==M ) //...значит да 53:: { 54:: for( j=0; j<q; j++ ) //...прорверим встречался ли этот рядок ранее 55:: if( saddle[ j ][ 0 ]==_saddle ) 56:: break; 57:: //запомнить координаты... 58:: if( j==q ) 59:: { 60:: saddle[ q ][ 0 ]=_saddle; 61:: saddle[ q ][ 1 ]=i; 62:: ++q; 63:: } 64:: } 65:: } 66:: return; 67:: } 68:: 69:: void SETS( int m_val[][ M ] ) 70:: { 71:: int i, j, c, X=0; 72:: 73:: for( i=0; i<N; i++ ) 74:: for( j=0; j<M; j++ ) 75:: if( m_val[ i ][ j ]<0 ) 76:: { 77:: for( c=0; c<M; c++ ) 78:: X+=m_val[ i ][ c ]; 79:: printf( "Row %d Summa Elementov = %d", i, X ); 80:: break; 81:: } 82:: return; 83:: } 84:: 85:: void main() 86:: { 87:: int m_val[ N ][ M ]={ 88:: 1, 3, 5, 1, 4, 2, 89:: 2, 6, 4, 0, 8, 4, 90:: 5, 6, 7, 5, 9, 9, 91:: 0, 4, 5,-1, 4, 2, 92:: 4, 9, 6, 0, 2, 8, 93:: 9, 8, 7, 6, 7, 8 }, i, j; 94:: 95:: for( i=0; i<N; i++ ) 96:: for( j=0; j<2; j++ ) 97:: saddle[ i ][ j ]=-1; 98:: 99:: 100:: saddle_node( m_val ); 101:: Print( m_val ); 102:: SETS( m_val ); 103:: 104:: getch(); 105:: }
|
|