Salve a tutti spero di postare correttamente visto che è il primo msg che invio su questo forum
Passo ad illustrare il mio problema
Devo creare la trasposta di una matrice(quadrata) generica e salvarla e non capisco perchè il mio codice non funziona![]()
![]()
sono arrivato ad soluzione alternativa ma vorrei capire perchè la prima non funziona grazie in anticipo per le vostre rispostecodice:#include <cstdlib> #include <iostream> using namespace std; #define max 10 void trasposta(int a[][max],int &x); int main(){ int n; cout<<"inserisci l'ordine della matrice quadrata da traspore: "; cin>>n; int m[max][max]; for(int i=0; i<n;i++) for(int j=0; j<n;j++){ cout<<"inserisci l'elemento"<<"[ "<<i<<" , "<<j<<" ] "; cin>> m[i][j]; cout<<endl; } cout<<" La matrice inserita è: \n"; for(int i=0; i<n;i++){ for(int j=0; j<n;j++) cout<<m[i][j]<<" "; cout<<endl;} trasposta(m,n); system("PAUSE"); return EXIT_SUCCESS; } void trasposta(int a[][max],int &x){ {int tmp,i,j; for(i=0; i<x;i++){ for(j=0; j<x;j++){ tmp=a[i][j]; a[i][j]=a[j][i]; a[j][i]=tmp; }}} cout<<" La matrice inserita trasposta e :\n"; for(int i=0; i<x;i++){ for(int j=0; j<x;j++) cout<<a[i][j]<<" "; cout<<endl;} }
Posto anche la soluzione alternativa
codice:#include <cstdlib> #include <iostream> using namespace std; typedef int matrix[10][10]; void trasposta(matrix m,int &x); int main(){ int n; cout<<"inserisci l'ordine della matrice quadrata da traspore: "; cin>>n; matrix m; for(int i=0; i<n;i++) for(int j=0; j<n;j++){ cout<<"inserisci l'elemento"<<"[ "<<i<<" , "<<j<<" ] "; cin>> m[i][j]; cout<<endl; } cout<<" La matrice inserita è: \n"; for(int i=0; i<n;i++){ for(int j=0; j<n;j++) cout<<m[i][j]<<" "; cout<<endl;} trasposta(m,n); system("PAUSE"); return EXIT_SUCCESS; } void trasposta(matrix a,int &x){ matrix t; { for(int i=0; i<x;i++){ for(int j=0; j<x;j++){ t[j][i]=a[i][j]; } } } cout<<" La matrice inserita trasposta e :\n"; for(int i=0; i<x;i++){ for(int j=0; j<x;j++) cout<<t[i][j]<<" "; cout<<endl;} }

Rispondi quotando
