Salve ragazzi sono un nuovo membro del forum quindi scusate per eventuali errori.
Il mio problema è che non riesco a stampare a video gli elementi della diagonale secondaria di una matrice...me ne stampa solo 1.
Vi posto il programma che comprende anche la stampa della diagonale principale (non ci sono stati problemi su questa)
codice:
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"); }