#include <iostream>
using namespace std;
void vvod (double **x, int n, int m);
void vivod (double **x, int n, int m);
double max (double **x, int n, int m);
double min (double **x, int n, int m);
int main()
{
setlocale(LC_ALL, "Russian");
int n,m;
cout << "Введите размер матрицы [n x m]: ";
cin >> n >> m;
// выделение памяти
double **a;
a=new double *[n];
for (int i=0;i<n;i++)
a[i]=new double [m];
// ввод матрицы
vvod(a,n,m);
// вывод матрицы
vivod(a,n,m);
// max на главной диагонали
cout <<"Max="<<max(a,m,n)<<endl;
// min на главной диагонали
cout <<"Min="<<min(a,m,n)<<endl;
//Освобождение памяти
for (int i=0;i<n;i++)
delete []a[i];
delete []a;
system("pause");
return 0;
}
void vvod (double **x, int n, int m)
{
// заполнение матрицы случайными числами
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
x[i][j]=rand()%10;
}
}
void vivod (double **x, int n, int m)
{
cout << "Матрица A:"<<endl;
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
cout <<x[i][j]<<" ";
cout <<endl;
}
}
double max (double **x, int n, int m)
{
double temp=x[0][0];
for (int i=0;i<n;i++)
if (x[i][i]>temp)
temp=x[i][i];
return temp;
}
double min (double **x, int n, int m)
{
double temp=x[0][0];
for (int i=0;i<n;i++)
if (x[i][i]<temp)
temp=x[i][i];
return temp;
}
|