#include #include #include int main(int argc, char *argv[]) { double p,entropia; char buf[4096]; char pOK, repetir; char salir; printf("Programa de calculo de la Entropia\n"); printf("Por Miguel Colom, 2002\n\n"); printf("Introduce los valores de las probabilidades\n"); printf("y acaba con una linea en blanco\n\n"); entropia = 0; salir = 0; while ( !salir ) { do { printf("Probabilidad : "); fgets(buf,100,stdin); p = atof(buf); salir = strlen(buf)<=1; pOK = (p>=0) && (p<=1); repetir = !pOK && !salir; if (repetir) printf("Valor incorrecto de probabilidad! Introducela otra vez\n"); } while (repetir); if (!salir) entropia += p*log10(p)/log10(2); } entropia = - entropia; printf("\nEntropia = %f\n",entropia); printf("\nPulsa una tecla para acabar...\n"); getch(); return 0; }