E' piuttosto "ovvio" e "divertente", se ci pensi... tu stai scorrendo tutta la matrice e ogni cella la scambi con quella opposta... ma siccome stai scorrendo tutta la matrice, prima o poi arrivi sopra alla cella "opposta" e scambi anche quella, quindi tutto torna alla posizione originale...
Quello che devi fare è scorrere solo "metà matrice":
codice:for (int i=0; i<n; i++){ for (int j=0; j<n/2; j++){ temp=display[i*n+j]; display[i*n+j]=display[i*n+(n-j-1)]; display[i*n+(n-j-1)]=temp; } }
Ciao.![]()