salve sono nuovo nel mondo della programmazione, sto avendo probelmi con questo programmino in c++ che dovrebbe creare una matrice, impostare la diagonale principale con valori di 0 e sommare gli elementi della diagonale principale prima che questi vengano inizializzati a 0.
sapete dirmi perche non funziona (non sono molto esperto in programmazione) grazie
ecco il programma:
#include <iostream>
#include <iomanip>
using namespace std;
int dim_riga;
int dim_colonna;
int x; //numero massimo di righe
int y; //nemro massimo di colonne
int v; //valore che l'utente immette ogni volta
int somma = 0;
int main() {
//creiamo un ciclo do while per evitare che l utente inserisca una dimensione <0 o >10
do
{
cout <<"inserire il numero di colonne e righe compreso tra 1 e 10" <<endl;
cin >> x;
}
while (x<1 or x>10);
y = x;
dim_riga = dim_colonna = 0;
//dichiarazione della matrice
int MATRICE [dim_riga] [dim_colonna];
//carichiamo la matrice con valori immessi dall'utente
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
for (dim_colonna = 0; dim_colonna < x; dim_colonna++)
{
cout <<"inserisci un valore da asseganre alla riga: " <<dim_riga <<" e alla colonna: " <<dim_colonna <<" ";
cin >> v;
MATRICE [dim_riga] [dim_colonna] = v;
}
}
cout <<" " <<endl;
//leggiamo i dati della matrice e stampiamoli
cout<<"la tua matrice e': " <<endl;
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
for (dim_colonna = 0; dim_colonna < y; dim_colonna++)
{
cout <<" " <<MATRICE[dim_riga][dim_colonna];
}
cout <<endl;
}
cout <<" " <<endl;
//sommaimo i nuemri della diagonale principale
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
somma = somma + MATRICE[dim_riga][dim_riga];
}
cout <<"la somma degli elementi della diagonale principale e': " <<somma <<endl;
cout <<" " <<endl;
//facciamo in modo che la diagonale principale sia 0
for (dim_riga = 0; dim_riga < x; dim_riga++)
MATRICE [dim_riga] [dim_riga] = 0;
//leggiamo i dati della nuova matrice e stampiamoli
cout<<"la matrice con diagonale principale = 0 e': " <<endl;
for (dim_riga = 0; dim_riga < x; dim_riga++)
{
for (dim_colonna = 0; dim_colonna < y; dim_colonna++)
{
cout <<" " <<MATRICE[dim_riga][dim_colonna];
}
cout <<endl;
}
}