rendered paste body#include <iostream>
using namespace std;
//************
int main()
{
int n, m;
int **tab;
cout << "Podaj mosci panie wymiar pierwszy tablicy"
<<"\nmilo bedzie jak podasz od 2 do 20 bo bedzie wtedy ladnie : ";
cin >> m;
cout << "\nA teraz wysil sie i podaj kolejny wymiar: ";
cin >> n;
tab = new int *[m];
for(int i=0; i<m; i++)
tab[i] = new int [n];
cout << "\nTeraz bedziesz wstawial." << endl;
for(int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
cout << "dawaj liczbe: ";
cin >> tab[j][i];
cout << "\n*\n";
}
}
cout << "\nOto co zes wymyslil:\n";
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
cout << tab[i][j] << "; ";
}
cout << endl;
}
bool a,b;
int t,s;
for(int i=0; i<n; i++)
{
do
{
a=false;
for(int j=1; j<m; j++)
{
if(tab[j][i]<tab[j-1][i]){
t=tab[j][i];
s=tab[j-1][i];
tab[j][i]=s;
tab[j-1][i]=t;
a = true;
}
}
}while(a);
}
do
{
a = false;
for(int i=1; i<n; i++)
{
if(tab[(m-1)][(i-1)] > tab[0][i])
{
a = true;
t=tab[(m-1)][(i-1)];
s=tab[0][i];
tab[(m-1)][(i-1)]=s;
tab[0][i]=t;
}
}
if(a){
for(int i=0; i<n; i++)
{
do
{
b=false;
for(int j=1; j<m; j++)
{
if(tab[j][i]<tab[j-1][i])
{
t=tab[j][i];
s=tab[j-1][i];
tab[j][i]=s;
tab[j-1][i]=t;
b = true;
}
}
}while(b);
}
}
}while(a);
cout << "\nposortowane: " << endl;
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
cout << tab[i][j] << "; ";
}
cout << endl;
}
cout << "\na teraz weza robie: " << endl;
int c = (m%2);
if(c)
{
int r=(m-1)/2;
for(int i=1; i<n;i++)
{
for(int d=0; d<r; d++)
{
t=tab[d][i];
s=tab[m-1-d][i];
tab[m-1-d][i]=t;
tab[d][i]=s;
}
i++;
}
}
else
{
int r=m/2;
for(int i=1; i<n;i++)
{
for(int d=0; d<r; d++)
{
t=tab[d][i];
s=tab[m-1-d][i];
tab[m-1-d][i]=t;
tab[d][i]=s;
}
i++;
}
}
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
cout << tab[i][j] << "; ";
}
cout << endl;
}
for(int i=0; i<m; i++)
delete [] tab[i];
delete [] tab;
}