PDA

View Full Version : numeri decimali in c


lore11
30-06-2015, 15:48
buongiorno a tutti

premetto che ho iniziato oggi a programmare in c (in vista di un esame universitario). stavo facendo un'esercitazione e mi sono accorto che il programma fatto da me non da i risultati con i decimali (anche se uso float o double).

il programma che ho scritto č:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define dim 2

int main ()
{float media=0.0, dist=0.0, B[dim], A[dim], somma=0.0;
int count=0, i=0.0;

for (i=0; i<dim; i++) {
scanf ("%f \n", &A[i]);
somma=somma+A[i];
}

media=abs(somma/dim)*1.0;

for (i=0; i<dim; i++) {
if (A[i]>=20 && A[i]<=25) {
count++;
}
}
printf ("i numeri compresi tra 20 e 25 sono: %d \n", count);

for (i=0; i<dim; i++) {
dist=A[i]-media*1.0;
B[i]=abs(dist*1.0);
}

printf ("vettore B: \n");
for (i=0; i<dim; i++) {
printf ("B[%d]: %lf \n", i, B[i]);
}
system ("PAUSE");
return 0;
}

il programma in se funziona, ma il risultato dovrebbe venire, nel 99% dei casi con numeri decimali. invece a me il risultato viene arrotondato al numero intero pių grande.

dove sbaglio?
sto utilizzando dev c++

grazie a tutti!

lore11
30-06-2015, 18:45
funziona..grazie mille!!!
sei stato gentilissimo!
buona serata!