Ciao!
La prima soluzione non funziona perchè il doppio ciclo scambia i valori posizionati correttamente al primo giro. Mi spiego meglio con un esempio. Se prendiamo una matrice quadrata 2x2, quando i=0 e j=1 abbiamo la trasposizione esatta, quando i=1 e j=0, il programma effettua nuovamente una trasposizione, riportando la matrice di partenza. Quindi è questo doppio ciclo che non ti porta alla giusta conclusione (e secondo me l'alternativa è molto buona).
Spero di esserti stato d'aiuto. Ciao!![]()