// Autor: Cheng Zhigang 01/05/2016
#include "stdafx.h"
#include <iostream>using namespace std;
int main ()
{
int nmax;
mmax int;
cin >> nmáx;
mmax = nmax;
int ** p = new int * [nmax];
for (int i = 0; i <nmax; i ++)
{
p [i] = new int [nmax];
memset (p [i], 0, sizeof (int) * nmax);
}
int ** q = new int * [nmax];
for (int i = 0; i <nmax; i ++)
{
q [i] = new int [nmax];
memset (q [i], 0, sizeof (int) * nmax);
}
int temp = 0;
for (int i = 0; i <nmax; i ++)
{
for (int j = 0; j <nmax; j ++)
{
// cin >> p [i] [j] >>" ";
cin >> temp;
p [i] [j] = temp;
}
// cout << endl;
} // matriz original de entrada
for (int i = 0; i <nmax; i ++)
{
for (int j = 0; j <nmax; j ++)
{
// cin >> p [i] [j] >>" ";
// cin >> temp;
cout << p [i] [j] <<" ";
}
tribunal << endl;
} // matriz original de salida
for (int i = 0; i <nmax; i ++)
{
for (int j = 0; j <nmax; j ++)
{
q [j] [nmax-1-i] = p [i] [j];
}
} // conversión matriz original
for (int i = 0; i <nmax; i ++)
{
for (int j = 0; j <nmax; j ++)
{
cout << q [i] [j] <<" ";
}
tribunal << endl;
} // matriz original de salida
for (int i = 0; i <nmax; i ++)
{
// q [i] = new int [nmax];
delete [] q [i];
}
delete [] q;
for (int i = 0; i <nmax; i ++)
{
// q [i] = new int [nmax];
delete [] p [i];
}
delete [] p;
volver 1;
}