با سلام
این کد رو همین الان نوشتم. با همون راهی که خودم گفتم نوشتمش. تابع spiral اون کار رو انجام می ده. فکر کنم به دردتون بخوره 
#include<iostream.h>
#include<iomanip.h>
void spiral ( int **a , int m , int row );
void matprint(int **a , int row);
void shift(int **a , int row , int s);
void main ( ){
int **a , i , j , m , row , x , s;
    cout<<"Please Enter The Number Of Row : "<<endl;
    cin>>row;
    
    a = new int*[row];
    for (int i = 0; i < row; i++)
        a[i] = new int[row];
    for( i = 0 ; i < row ; i++ ){
        for( j = 0 ; j < row ; j++ ){
            a[i][j] = 0;
        }
    }
    
    for ( i = 0 ; i <( row/2 ) ; i++ ){
        spiral ( a , i , row);
    }
    
    if ( row % 2 == 1 ){
        x = (row-1) / 2;
        cin>>a[x][x];
    }
    
    cout<<"\n\n\n"; 
    matprint(a,row);
    
    cout<<"Please Enter The Number Of Shift :"<<endl;
    cin>>s;
    
    shift(a,row,s);
    cout<<"\n\n\n";
    matprint(a,row);
}
void spiral ( int **a , int m , int row ){
    int x , y , i ;
    
    x = m;
    y = ( row - 1 ) - m;
    
    for ( i = m ; i <= y ; i++ ){
        cin>>a[x][i];
    }
    for ( i = m+1 ; i < y+1 ; i++ ){
        cin>>a[i][y];
    }
    for ( i = y-1 ; i >= m ; i-- ){
        cin>>a[y][i];
    }
    for ( i = y-1 ; i > m ; i-- ){
        cin>>a[i][x];
    }
    
}
void matprint(int **a , int row){
int i , j;
    for ( i = 0 ; i < row ; i++ ){
        for ( j = 0 ; j < row ; j++ ){
            cout<<setiosflags(ios::right)<<a[i][j]<<setw(3);
        }
        cout<<"\n";
    }
}
void shift(int **a , int row , int s){
    int i , j , temp2 , **temp;
    temp = new int*[row];
    for (int i = 0; i < row; i++){
        temp[i] = new int[row];
    }
        
    for ( i = 0 ; i < row ; i++ ){
        for ( j = 0 ; j < row ; j++ ){
            temp[i][j] = a[i][j];
        } 
    }
    s = s % row;
    temp2 = s;
    
    for( i = 0 ; i < row ; i++ ){
        temp2 %= row;
        for ( j = 0 ; j < row ; j++ ){
            a[j][temp2] = temp [j][i];
        } 
        temp2++;
    } 
}