Держи. Задача простая, если что - подправишь вывод как тебе нужно
Code
#include <iostream>
#include <conio.h>
using namespace std;
int ** vvod(int &n,int **a)
{
int i,j;
cout << "Введите размер массива N : ";
cin >> n;
a = new int *[n];
for (i=0;i<n;i++){
a[i] = new int [n];
for (j=0;j<n;j++) cin >> a[i][j];
}
return a;
}
int vivod(int n,int **a)
{
int i,j;
for (i=0;i<n;i++){
for (j=0;j<n;j++){
cout << a[i][j] << " ";
}
cout << endl;
}
cout << endl;
return 1;
}
int step(int n,int **a,int k)
{
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
for (int e=2;e<=k;e++) a[i][j]*=a[i][j];
}
cout << endl;
}
return 1;
}
int main()
{
int n,**a;
a = vvod(n,a);
vivod(n,a);
step(n,a,2);
vivod(n,a);
getch();
return 0;
}