+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Malfunzionamento programma con matrice

  1. #1
    marek42 non è in linea Novello
    Post
    6
    Like Inviati  
    0
    Like Ricevuti  
    0
    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;
    		}
    
    }
    
    Ultima modifica di marek42; 21-12-2017 14:09  Motivo: risolto

  2. #2
    Post
    17,513
    Blogs
    6
    Like Inviati  
    6
    Like Ricevuti  
    36
    Questa linea

    int MATRICE [dim_riga] [dim_colonna];

    è sbagliata, devi usare x e y
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    marek42 non è in linea Novello
    Post
    6
    Like Inviati  
    0
    Like Ricevuti  
    0
    AntonioG grazie per la risposta, solo quella riga devo cambiare poi funziona tutto il resto ?!
    Ok ho provato e ora funziona tutto grazie mille per la risposta

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Malfunzionamento anomalo DB
    Da Jocman nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 12-11-2018, 16:06
  2. Malfunzionamento Vba
    Da Commentarium nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 07-09-2016, 10:16
  3. Malfunzionamento Vba
    Da Commentarium nel forum Microsoft Word
    Risposte: 0
    Ultimo Post: 06-09-2016, 17:47
  4. [VBA] Malfunzionamento MSHFlexGrid
    Da luigi71cx3 nel forum Microsoft Word
    Risposte: 3
    Ultimo Post: 20-02-2009, 12:38
  5. Trasformare una matrice di Boolean in matrice di Byte
    Da luciano.net nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 15-06-2006, 17:20