Salve a tutti!
Devo fare un programma che riceva in input la dimensione "n" di una matrice quadrata (n*n), stampi la matrice e stampi in un vettore di interi tutti gli elementi della diagonale principale...
Il programma l'ho terminato, con l'unico problema che l'elemeto 0,0 (il primo della diagonale maggiore) non viene visualizzato nella stampa del vettore di interi...Potreste gentilmente dare un occhiata al codice e svelarmi l'arcano? °_°
codice:
#include <iostream.h>
#include <cstdlib>
#define dim 10
using namespace std;
int main ()
{
int matrice [dim][dim];
int vettore[dim];
int n, i, j, diagonale;
cout<<"Inserire la dimensione della matrice quadrata (massimo 10): ";
cin>>n;
cout<<endl;
cout<<"Inserisci gli elementi della matrice"<<endl;
for (i=0; i<n; i++)
for (j=0; j<n; j++){
cin>> matrice [i][j];
}
cout<<endl<<endl<<"Stampa della matrice quadrata"<<endl;
for (i=0; i<n; i++){
cout<<endl;
for (j=0; j<n; j++){
cout<< matrice [i][j];
}
}
cout<<endl<<endl;
cout<<"Stampa della diagonale maggiore:";
diagonale=0;
for (i=0; i<n; i++){
if (j=i) {
vettore[diagonale]=matrice[i][j];
diagonale++;
}
}
cout<<endl;
for (i=0; i<diagonale; i++)
cout<<vettore[i];
cout<<endl<<endl;
system ("PAUSE");
return 0;
}
eseguendolo inserendo per esempio n=2 e gli n*n elementi "1,2,3,4"
mi stampa:
12 che sarebbe la matrice
34
e mi stampa però solo "4" invece di "1,4" che sarebbero gli elementi completi della diagonale maggiore...
Mi piacerebbe avere da voi anche un giudizio generale su come ho svolto il codice e qualche consiglio per migliorarlo...
Grazie infinite a tutti!!!!1