Media aritmetica de un array entero

Iniciado por dairus20, 5 Marzo 2011, 01:22 AM

0 Miembros y 1 Visitante están viendo este tema.

dairus20

Hola, me gustaría compartir con todos ustedes un pequeño codigo muy simple de C, estoy apriendo a programar en c y me esta gustando bastante y como quiero mucho a esta comunidad aunque sois unos expertos y una maravilla en todo lo relacionado con la informatica y la programacion, creo que por lo menos ha alguien le puede gustar xD.

A parte de eso también me gustaría que si veis algo que estoy haciendo mal y algo que se pueda mejorar de mi codigo o mi forma de escribir acepto cualquier critica constructiva.

/* Programa que toma 4 valores escritos por el usuario y los guarda en un array entero de un tamaño de 4 valores y calcula la media aritmetica
en base a esos 4 valores
* by Ivan Ucha Ramirez 5 Marzo 2011 */

# include <stdio.h>

int main()
{
/* Declaracion de 2 variables enteras y un array entero de 4 numeros*/
   int suma;
   int media;
   int lista[4];
   printf( "Introduzca 4 numeros enteros \n");

/* Guarda los 4 numeros escritos por el teclado en los 4 lugares del array*/
   scanf("%d", &lista[0]);
   scanf("%d", &lista[1]);
   scanf("%d", &lista[2]);
   scanf("%d", &lista[3]);
   
/* Guarda en la variable la suma de todos los valores contenido en el array*/
   suma = lista[0] + lista[1] + lista[2] + lista[3];
/* Calcula media aritmetica de todos los valores escrito por el usuario*/
   media = suma / 4;
   printf("La media de los 4 numeros es: %d", media);

return 0;
}

            GRACIAS A TODOS VOSOTROS POR TODO QUERIDA COMUNIDAD POR TODO

ShadowStorm

Cita de: dairus20 en  5 Marzo 2011, 01:22 AM
Hola, me gustaría compartir con todos ustedes un pequeño codigo muy simple de C, estoy apriendo a programar en c y me esta gustando bastante y como quiero mucho a esta comunidad aunque sois unos expertos y una maravilla en todo lo relacionado con la informatica y la programacion, creo que por lo menos ha alguien le puede gustar xD.

A parte de eso también me gustaría que si veis algo que estoy haciendo mal y algo que se pueda mejorar de mi codigo o mi forma de escribir acepto cualquier critica constructiva.

/* Programa que toma 4 valores escritos por el usuario y los guarda en un array entero de un tamaño de 4 valores y calcula la media aritmetica
en base a esos 4 valores
* by Ivan Ucha Ramirez 5 Marzo 2011 */

# include <stdio.h>

int main()
{
/* Declaracion de 2 variables enteras y un array entero de 4 numeros*/
int suma;
int media;
int lista[4];
printf( "Introduzca 4 numeros enteros \n");

/* Guarda los 4 numeros escritos por el teclado en los 4 lugares del array*/
scanf("%d", &lista[0]);
scanf("%d", &lista[1]);
scanf("%d", &lista[2]);
scanf("%d", &lista[3]);

/* Guarda en la variable la suma de todos los valores contenido en el array*/
suma = lista[0] + lista[1] + lista[2] + lista[3];
/* Calcula media aritmetica de todos los valores escrito por el usuario*/
media = suma / 4;
printf("La media de los 4 numeros es: %d", media);

return 0;
}

           GRACIAS A TODOS VOSOTROS POR TODO QUERIDA COMUNIDAD POR TODO

Otra forma de programarlo sería:


# include <stdio.h>

int main()
{
/* Declaracion de 2 variables enteras y un array entero de 4 numeros*/
  float suma = 0;
  float media;
  float lista[4];
  printf( "Introduzca 4 numeros\n");

/* Guarda los 4 numeros escritos por el teclado en los 4 lugares del array*/  
//   scanf("%d", &lista[0]);
//   scanf("%d", &lista[1]);
//   scanf("%d", &lista[2]);
//   scanf("%d", &lista[3]);
  for(int i=0;i<4;i++)
  {
scanf("%f", &lista[i]);
suma = suma + lista[i];
  }
 
/* Guarda en la variable la suma de todos los valores contenido en el array*/
 // suma = lista[0] + lista[1] + lista[2] + lista[3];
/* Calcula media aritmetica de todos los valores escrito por el usuario*/
  media = suma / 4;
  printf("La media de los 4 numeros es: %0.2f", media);

return 0;
}


No siempre el promedio será de tipo entero (int).

Lo recomendable sería usar punteros, para así ingresar la cantidad que uno desee, pero eso ya lo dejo a tu criterio.

dairus20

Hola, gracias por tu respuesta, hombre en principio estoy aprendiendo así que todavia no manejo ni punteros ni la memoria, pero lo tendré en cuenta poco a poco lo iré optimizando.