Sto svolgendo l'ennesimo esercizio , l'ho già testato e funziona , solo che ho un dubbio sull'ultima parte dell'esercizio , sul fatto che b sia double e vi vada inserita la distanza dalla media dei valori di A, mi viene un numero molto grande , senza virgola , mi sa che ho sbagliato qualcosa a livello "logico"
Scrivere un programma C che:
legge da standard input 20 numeri interi e li inserisce nel vettore A
per ogni numero compreso fra 20 e 25 inclusi stampa quante volte occorre nel vettore A
per ogni numero in A inserisce in un array B di 20 double la sua distanza in valore assoluto dalla media dei numeri di A
visualizza il contenuto di B
#include <stdio.h>
#include <stdlib.h>
int main (){
int i, A[20], count , somma ;
double j,B[20], media , distanza;
count=0;
media=0.0;
somma=0;
distanza=0.0;
for (i=0 ; i<20 ; i++){
printf("inserisci un valore :");
scanf("%d" , &A[i]);
if (A[i]>=20 && A[i]<=25) count++;
}
printf("il numero di volte che il vettore i numeri tra 20 e 25 appare in A e' : %d\n" , count);
for (i=0 ; i<20 ; i++) {
somma = somma + A[i];
}
media = somma /2 * (1.0);
distanza = A[i] - media;
for (i=0 ; i<20 ; i++) {
if (distanza<0) distanza = distanza * -1.0;
B[i]=distanza;}
printf("il contenuto di B e' : %d\n" , B[i]);
system ("pause");
return 0;
}
grazie in anticipo