Page 80

2.1 Vectores est´aticos int moda, frecuencia, frecuencia_moda, mediana;

10 11

/* Lectura de edades */ for (i=0; i<PERSONAS; i++) { printf ("Introduce edad de la persona %d (si es negativa, acaba): ", i+1); scanf ("%d", &edad [i]); if (edad [i] < 0) break; }

12 13 14 15 16 17 18 19

...

20 21

return 0;

22 23

}

Mmmm. Hay un problema: si no damos 20 edades, el vector presentar´a toda una serie de valores sin inicializar y, por tanto, con valores arbitrarios. Ser´ıa un grave error tomar esos valores por edades introducidas por el usuario. Una buena idea consiste en utilizar una variable entera que nos diga en todo momento cu´ antos valores introdujo realmente el usuario en el vector edad : edades 5.c 1 2

edades.c

#include <stdio.h> #include <math.h>

3 4

#define MAX_PERSONAS 20

5 6 7 8 9 10

int main(void) { int edad [MAX_PERSONAS], personas , i, j, aux , suma_edad ; float suma_desviacion, media, desviacion; int moda, frecuencia, frecuencia_moda, mediana;

11

/* Lectura de edades */ personas = 0 ; for (i=0; i<MAX_PERSONAS; i++) { printf ("Introduce edad de la persona %d (si es negativa, acabar): ", i+1); scanf ("%d", &edad [i]); if (edad [i] < 0) break; personas++ ; }

12 13 14 15 16 17 18 19 20 21

...

22 23

return 0;

24 25

}

La constante que hasta ahora se llamaba PERSONAS ha pasado a llamarse MAX_PERSONAS. Se pretende reflejar que su valor es la m´ axima cantidad de edades de personas que podemos manejar, pues el n´ umero de edades que manejamos realmente pasa a estar en la variable entera personas. Una forma alternativa de hacer lo mismo nos permite prescindir del ´ındice i: edades 6.c 1 2

edades.c

#include <stdio.h> #include <math.h>

3 4

#define MAX_PERSONAS 20

5 6 7 8 9 10

74

int main(void) { int edad [MAX_PERSONAS], personas, j, aux , suma_edad ; float suma_desviacion, media, desviacion; int moda, frecuencia, frecuencia_moda, mediana; Introducci´ on a la Programaci´ on con C

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement