vuoi
o PayPal
tutte le volte che vuoi
Semplice programmino che permette di traspostare una matrice quadratica secondo la diagonale principale e secondaria
/* trasposta di una matrice quadratica secondo
la diagonale principale e secondaria */
#include<iostream.h>
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<n;i++)
for(j=0;j<n;j++)
{ cout<<"\n inserisci il valore della cella M [ "<<i<<","<<j<<" ] : ";
cin>>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<n-1;i++)
{ for(j=i+1;j<n;j++)
{ mem=m[i][j];
m[i][j]=m[j][i];
m[j][i]=mem;
}