
#include <iostream>
using namespace std;
void vvod (int **x, int n);
void sedlo (int **x, int n);
void vivod (int **x, int n);
int min (int **x, int n, int stroka);
int max (int **x, int n, int stolbec);
void init ();
void deinit();
int **a;
int n;
int main()
{
setlocale(LC_ALL, "Russian");
init();
vvod(a,n);
cout << "Матрица A:" << endl;
vivod(a,n);
sedlo(a,n);
system("pause");
return 0;
}
void init ()
{
cout << "Введите размер квадратной матрицы [n x n]: ";
cin >> n;
a=new int *[n];
for (int i=0;i<n;i++)
a[i]=new int [n];
}
void deinit ()
{
for (int i=0;i<n;i++)
delete []a[i];
delete []a;
}
void vvod (int **x, int n)
{
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
cin >> x[i][j];
}
void vivod (int **x, int n)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
{
cout.width(2);
cout << x[i][j] << " ";
}
cout << endl;
}
}
void sedlo (int **x, int n)
{
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
{
if (min(x,n,i)==max(x,n,j))
cout <<"Седловая точка: i="<<i<<" "<<" j="<<j<<endl;
}
}
int min (int **x, int n, int stroka)
{
int m=x[stroka][0];
for (int j=0;j<n;j++)
if (x[stroka][j]<m)
m=x[stroka][j];
return m;
}
int max (int **x, int n, int stolbec)
{
int m=x[0][stolbec];
for (int i=0;i<n;i++)
if (x[i][stolbec]>m)
m=x[i][stolbec];
return m;
}
|