GVA SUPPORT

Відповідь на запитання № 1333915268
Text:
	ФІО = Горбаченко В.А.

 Запитання:/*
AK p01 z01
Задано числовий масив A[m][n]. Певний елемент цього масиву назвемо сідловою точкою,
якщо він є одночасно найменшим у своєму рядку та найбільшим у своєму стовпчику.
Надрукувати номери рядка та стовпчика якої небуль сідлової точки або надрукувати 0,
якщо
така точка відсутня. Програму написати з використанням індексів елементів масиву.

*/
//---------------------------------------------------------------------------

#pragma hdrstop
#include <iostream>
#include <stdio.h>
// розміри масиву
#define M 3
#define N 4
//---------------------------------------------------------------------------

#pragma argsused
using namespace std;
int main(int argc, char* argv[])
{
        int sidla_count = 0; // кількість виведених сідлових точок
        // створюємо та заповнюємо масив
// автоматическое заполнение
        int m[M][N]={
        {0,     0,      0,    4      },
        {5,     6,      7,     8},
        {1,     2,      0,     4},
        };
/* // расскоментируй, если надо вводить с клавиатуры
        // ручной ввод
        for (int i = 0 ; i < M ; i++)
        {
                for (int j = 0 ; j < M ; j++)
                {
                        cout<<"Enter m [ "<<i<<" ] [ "<<j<<" ] = ";
                        cin>>m[i][j];
                }
        }
*/
        // виводимо масив
        for ( int i = 0 ; i < M ; i++ )
        {
                for ( int j = 0 ; j < N ; j++ )
                {
                        cout<<m[i][j]<<"\t";
                }
                cout<<endl;
        }
        // поиск седла (причем седло модет быть только 1 (?? по моему так))

        for ( int i = 0 ; i < M ; i++ )
        {// проходимось по рядкам
                int j_min = 0 ;   // індекс стовбня з мін значенням
                for ( int j = 1 ; j < N ; j++ )
                {// проходимось по стовбцям
                        // шукаємо індекс мінімального значення елементу масиву
                        // в i-тому рядку і записуємо в j_min
                        if (m[i][j_min] >= m[i][j]) j_min = j;
                }
                int i_max = 0; // індекс рядка з макс значенням в j_min стовбці
                for ( int z = 1 ; z < M ; z++)
                {// проходимось по рядкам
                        if (m[i_max][j_min] <= m[z][j_min])
                        { // шукаэмо індекс максимального значення в
                                i_max = z;
                        }
                }
                if (i_max==i)
                {// сідло
                        cout<<" SIDLO m[ "<<i<<" x "<<j_min<<" ] = "<<m[i][j_min]<<endl;
                        sidla_count++;
                }
        }
        cout<<endl;
        if (sidla_count ==0) cout<<" SIDLA NE ZNAYDENO : 0"<<endl;
        system("pause");
        return 0;
}
//---------------------------------------------------------------------------


====================================	
Ваша відповідь