Ciao, ho letto il tuo post e vorrei provare ad aiutarti.
Facendo il debugging del tuo codice mi sono reso conto che il problema è nella stampa.
Il mio dubbio è il seguente: avendo creato una funzione membro per la stampa, perchè nella funzione che determina la trasposta c'è un'altra porzione di codice che assolve (in teoria) allo stesso scopo?
Dico in teoria, perchè se dai una rapida occhiata alle due porzioni di codice ti renderai subito conto che non sono proprio eguali .
Quella corretta è la funzione stampa mentre la porzione di codice in trasposta non va bene.
dovresti sostituirla con:
for(int r=0;r<N;r++)
{
for(int c=0;c<N;c++)
{
if(temp[r][c]!=NULL)
cout<<setw(10)<<*temp[r][c]<<setw(10);
else cout<<setw(10)<<"-"<<setw(10);
}
cout<<endl;
}
In ogni caso, seppure con tale modifica il programma funziona, devo avvisarti che un codice siffatto non è coerente; hai gia una fuzione di stampa devi solo riutilizzarla e per farlo dovresti solo modificarne il prototipo.
Spero di esserti stato utile.
Buona giornata
[/color]