#include<stdio.h>
int main() {
int matrix[riga][colonna]; // cambiando [] cambio numero di righe o colonne
int i,j;
int riga ;
int colonna;
printf ( "numero righe :" );
scanf ( "%d", &riga);
printf ("numero colonne:" );
scanf ( "%d" , &colonna);
for (i=0 ; i<riga; i++)
for (j=0; j<colonna; j++) {
printf ("Elemento [%d][%d]: ",i+1 ,j+1 );
scanf ("%d",&matrix[i][j]); // attribuisco alla stampa precedente , un valore intero da me dato !
}
printf ("la matrice e':\n");
for(i=0 ; i<riga ; i++){
for(j=0 ; j<colonna ; j++){
printf(" %d ", matrix[i][j] );
}
printf("\n");
}
return 0;}
Ciao a tutti , ho scritto questo programma con l'intenzione di
- introdurre da tastiera il numero delle righe e delle colonne della matrice
- introdurre da tastiera gli elementi della matrice , con relativo posizionamento ( tipo "introduci elemento [1][1] :")
-stampa a griglia degli elementi tipo:
1 1
2 0
Il problema che riscontro riguarda l'ultima parte , infatti se digitò una matrice 2x2 ottengo:
numero righe :2
numero colonne:2
Elemento [1][1]: 1
Elemento [1][2]: 2
Elemento [2][1]: 6
Elemento [2][2]: 1
la matrice e':
6647836 6647820
6647836 6647820
Credo che il problema sia in questa porzione di codice ma sinceramente non saprei proprio come risolverlo
for(i=0 ; i<riga ; i++){
for(j=0 ; j<colonna ; j++){
printf(" %d ", matrix[i][j] );
}
Ho provato anche spostare la dichiarazione di matrix dopo gli scanf di riga e colonna ma non ho risolto, la matrice e' sbagliata comunque e non vengono stampati corretti nemmeno i contatori delle posizioni degli elementi della matrice ( [1][1] ecc ) , infatti alcuni non compaiono.
Potreste aiutarmi? Grazie