Problema con matrice

di il
2 risposte

Problema con matrice

Sto studiando il C e in particolare le matrici. Ho creato un semplice programma che inserisce degli interi nella matrice e poi stampa la matrice sotto forma di tabella. Tuttavia c'è qualche problema. Ecco il codice:
//Questo programma crea un array bidimensionale (matrice)

#include <stdio.h>
#include <stdlib.h>

int main()
{
	//Matrice 5 x 5
	int matrice[5][5];
	
	//Puntatori
	int i, n;
	
	//Inserisco i valori nella matrice
	for(i = 0;i < 5;i++)
	{
		printf("\nRiga n.%d \n", i+1);
		
		for(n = 0;n < 5; n++);
		{
		
			printf("\nInserisci l'elemento %d \n",n+1);
			//Inserisco il numero nella riga i, colonna n
			scanf("%d", &matrice[i][n]);
			
		}
	}
	
	//Stampa della matrice in una tabella
	for(i = 0;i < 5;i++)
	{
		
			for(n = 0;n < 5;n++)
			{
				
					printf("%d   ", matrice[i][n]);
				
			}
			
			//Ad ogni nuova riga vado a capo
			printf("\n");
	
	}
	
	system("PAUSE");
}
Quello che mi aspettavo succedesse era che apparisse la scritta: "Riga n.1 inserisci n.1".
Mentre stampa: "Riga n.1 Inserisci l'elemento n.6".

Non riesco a capire il perchè di quel 6. Grazie a tutti per le future risposte!

2 Risposte

  • Re: Problema con matrice

    Il problema è il punto e virgola dopo la parentesi

    for(n = 0;n < 5; n++);

    mentre dovrebbe essere

    for(n = 0;n < 5; n++)

    a questo punto ti dovrebbe essere chiaro cosa succede
  • Re: Problema con matrice

    Cavolo, che errore stupido. Grazie mille, pensavo fosse un errore logico!
Devi accedere o registrarti per scrivere nel forum
2 risposte