/* trasposta di una matrice quadratica secondo la diagonale principale e secondaria */ #include typedef int matrice[10][10]; void leggi(matrice m,matrice m1,matrice m2,int &n); void trasposta(matrice m1,int &n); void trasposta2(matrice m2,int &n); void visualizza(matrice m, int &n); void main() { matrice m,m1,m2; int n,rip; do { cout<<"\n **TRASPOSTA**"; cout<<"\n secondo la diagonale pricipale e secondaria"; leggi(m,m1,m2,n); cout<<"\n MATRICE MADRE :"; visualizza(m,n); trasposta(m1,n); cout<<"\n TRASPOSTA SECONDO LA DIAG PRINCIPALE:"; visualizza(m1,n); trasposta2(m2,n); cout<<"\n TRASPOSTA SECONDO LA DIAG SECONDARIA:"; visualizza(m2,n); cout<<"\n Vuoi continuare ancora?"; cout<<"\n si=1 no=0 : "; cin>>rip; } while(rip==1); } void leggi(matrice m,matrice m1,matrice m2,int &n) { int i,j; cout<<"\n Definisci le dimensioni della matrice quadratica : "; cout<<"\n"; cout<<"\n numero max (<11) righe e colonne = "; cin>>n; cout<<"\n"; cout<<"\n Riempimento matrice :\n"; for(i=0;i>m[i][j]; m1[i][j]=m[i][j]; m2[i][j]=m[i][j]; } } void trasposta(matrice m1,int &n) { int i,j,mem; for(i=0;i=0;j--) { x=x+1; mem=m[i][j]; m[i][j]=m[x][y]; m[x][y]=mem; } h=h-1; } } void visualizza(matrice m,int &n) { int i,j; for(i=0;i