PDA

View Full Version : [ANSI C] Riempimento matrice


chemicalfrequent
01-08-2007, 19:01
Salve a tutti, spero qualcuno possa aiutarmi.

Questo è il codice che ho scritto, per riempire e stampare a video una matrice, ma l'input non funzione. O meglio non capisco cosa non funzioni. Infatti dopo aver inserito tutte le entrate della matrice, quando viene stampata, quello che appare è sempre una matrice nulla. Perchè?

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

int main(void){

int i, j, n;
double **matrice;

printf("Inserire l'ordine della matrice quadrata.\n");
scanf("%d", &n);

//Allocazione dinamica della matrice

matrice = (double**)calloc(n, sizeof(double*));
for(i = 0; i < n; i++)
matrice[i] = (double*)calloc(n, sizeof(double));

//Input utente

for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%f", &matrice[i][j]);

//Stampa la matrice

for(i = 0; i < n; i++){
putchar('\n');
for(j = 0; j < n; j++)
printf("%7.1f", a[i][j]);
}

return 0;

}

inoltre se la sostituisco la riga: scanf("%f", &matrice[i][j]);
con l'istruzione: matrice[i][j] = rand() % 19 - 9;
funziona tutto perfettamente e viene stampat la matrice esatta. Dov'è che sbaglio?

labrosan
01-08-2007, 23:30
Ciao,

Quando fai la scanf usa il formato %lf e non %f.

chemicalfrequent
02-08-2007, 18:13
Grazie 1000 labrosan,
ora funziona tutto alla perfezione:D