#include <iostream>
#include <ctime>
using namespace std;
void vvod(int **x, int n, int m);
void vivod(int **x, int n, int m);
void ObmenStolbcMaxMin(int **x, int n, int m);
int main()
{
setlocale(LC_ALL, "Russian");
srand(time(0));
const int n=9, m=5;
int **a;
a=new int *[n];
for (int i=0;i<n;i++) a[i]=new int [m];
//cout<<"Введите матрицу А"<<endl;
vvod(a,n,m);
cout<<"Введённая матрица А"<<endl;
vivod(a,n,m);
ObmenStolbcMaxMin(a,n,m);
cout<<"Изменённая матрица А"<<endl;
vivod(a,n,m);
for (int i=0;i<n;i++) delete []a[i];
delete []a;
system("pause");
return 0;
}
void vvod(int **x, int n, int m)
{
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
x[i][j]=rand()%90+10;
}
void vivod(int **x, int n, int m)
{
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
void ObmenStolbcMaxMin(int **x, int n, int m)
{
int max=x[0][0],imax=0,jmax=0;
int min=x[0][0],imin=0,jmin=0;
for (int i=0;i<n;i++)
for (int j=0;j<m;j++)
{
if (x[i][j]>max)
{
max=x[i][j]; imax=i; jmax=j;
}
if (x[i][j]<min)
{
min=x[i][j]; imin=i; jmin=j;
}
}
cout<<"max="<<max<<" ["<<imax<<";"<<jmax<<"]"<<" ";
cout<<"min="<<min<<" ["<<imin<<";"<<jmin<<"]"<<endl;
//перестановка столбца jmax и jmin
int c;
for (int i=0;i<n;i++)
{
c=x[i][jmax];
x[i][jmax]=x[i][jmin];
x[i][jmin]=c;
}
}
|