#include <iostream>
using namespace std;
void citire(int A[][101], int &n, int &m)
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>A[i][j];
}
void afisare(int A[][101], int n, int m)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<A[i][j]<<" ";
cout<<endl;
}
}
void inter(int &x, int &y)
{//interschimba x cu y
int aux=x; x=y; y=aux;
}
void interlin(int A[][101], int m, int x, int y)
{//interschimba linia x cu linia y
for(int j=1;j<=m;j++)
inter(A[x][j],A[y][j]);
}
void intercol(int A[][101], int n, int x, int y)
{//interschimba coloana x cu coloana y
for(int i=1;i<=n;i++)
inter(A[i][x],A[i][y]);
}
void detindici(int A[][101], int n, int m, int &imax, int &imin, int &jmax, int &jmin)
{ //determina indicii elementului maxim si ai celui minim
int maxx=0, minn=100000;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(A[i][j]>maxx)
{
maxx=A[i][j]; imax=i; jmax=j;
}
if(A[i][j]<minn)
{
minn=A[i][j]; imin=i; jmin=j;
}
}
}
int main()
{
int A[101][101],n,m,imax,jmax,imin,jmin;
citire(A,n,m);
detindici(A,n,m,imax,imin,jmax,jmin);
interlin(A,m,imin,imax);
intercol(A,n,jmin,jmax);
afisare(A,n,m);
return 0;
}
|