Ti ho risolto il problema, cerca comunque di gestire il codice in maniera piu' ottimizzata e stai attento agli errori.codice:#include <iostream> #include <cstdlib> using namespace std; int main (){ int mat[10][10]; int i,j; int n1,n2; cout<<"\n Diagonali matrice max 10x10"; do { cout<<"\n\nSpecificare grandezza riga :"; cin>>n1; cout<<"\nSpecificare grandezza colonna: :"; cin>>n2; if(n1!=n2) { cout<<"\nERRORE la matrice deve essere quadrata.Riprova!"; } } while(n1!=n2); //inserimento dati matrice for(i=0; i<n1; i++) { for(j=0; j<n2; j++) { cout<<"\nInserisci elemento riga "<<i+1<<" colonna "<<j+1<<" :"; cin>>mat[i][j]; } } //stampa matrice for (i=0; i<n1; i++) { for (j=0; j<n2; j++) { cout << "mat["<<i+1<<"]["<<j+1<<"]=" << mat[i][j]<<endl; } } //stampa diagonale 1 cout<<"\n Diagonale 1= "; for (i=0; i<n1; i++) { for (j=0; j<n2; j++) { if(i==j) { cout<<mat[i][j]<< " "; } } } //stampa diagonale 2 cout<<"\n Diagonale 2= "; for (i=0; i<n1; i++) { for (j=0; j<n2 ; j++) { if(i+j==(n1-1)) { cout<<mat[i][j]<< " "; } } } cout<<endl<<endl; system("pause"); }