Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define MAX_PERSONAS 20
- int main(void)
- {
- int edad[MAX_PERSONAS], personas, i, j, aux, suma_edad;
- float suma_desviacion, media, desviacion;
- int moda, mediana;
- int tmp;
- /* Lectura de edades */
- personas=0;
- do{
- printf("Introduce edad %d (si es negativa, acabar): ", personas+1);
- scanf("%d",&tmp);
- if (tmp>=0)
- edad[personas]=tmp;
- else
- break;
- personas++;
- } while(personas<MAX_PERSONAS && edad[personas-1]>=0);
- if(personas>0){
- /* Calculo de la media */
- suma_edad=0;
- for(i=0;i<personas;i++)
- suma_edad+=edad[i];
- media=suma_edad/(float)personas;
- /* Calculo de la desviacion tipica */
- suma_desviacion=0.0;
- for(i=0;i<personas;i++)
- suma_desviacion+=(edad[i]-media)*(edad[i]-media);
- desviacion=sqrt(suma_desviacion/personas);
- printf("Moda desordenada\n\n");
- /* Calculo de la moda */
- for (int b=0;b<personas;b++)
- printf("\t\t%d\n", edad[b]);
- for(i=0;i<personas-1;i++) //Ordenacion mediante burbuja
- for(j=0;j<personas-1;j++)
- if(edad[j]>edad[j+1]){
- aux=edad[j];
- edad[j]=edad[j+1];
- edad[j+1]=aux;
- }
- //Creacion de la lista que almacenara las modas
- int modas[personas];
- int frecuencia=0;
- int frecuencia_moda=0;
- int contador=0;
- for(int m=0;m<personas;m++)
- modas[m]=0;
- for(i=0;i<personas;i++)
- printf("\t%d\n",edad[i]);
- for(int n=0; n<personas-1;n++)
- if(edad[n]==edad[n+1]){
- frecuencia++;
- if(frecuencia>frecuencia_moda){
- frecuencia_moda=frecuencia;
- for(int m=0;m<personas;m++){
- modas[m]=0;
- }
- contador=0;
- modas[contador]=edad[n];
- }
- else if(frecuencia==frecuencia_moda){
- contador++;
- modas[contador]=edad[n];
- }
- }
- /*Calculo de la mediana */
- if(personas%2==0)
- mediana=edad[personas/2];
- else{
- mediana=(edad[personas/2]+edad[(personas/2)-1]);
- }
- /*Impresion de resultado*/
- printf("Edad meddia : %f\n", media);
- printf("Desv. tipica : %f\n", desviacion);
- printf("Mediana : %d\n", mediana);
- printf("Moda: \n");
- for(int m=0;m<personas;m++)
- printf("\t%d\n", edad[m]);
- }
- else
- printf("No se introdujo dato alguno.\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement