Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Calcular el mínimo, el máximo, la media y la semisuma de varios números (ANSI C)
Lenguaje de programación ANSIC C, C++

Enunciado del ejercicio resuelto en lenguaje de programación C: realizar un programa que pida el número de valores a calcular y pida los valores (numéricos). Debe calcular (utilizando funciones) el máximo valor, el mínimo valor, la media de todos los valores y la semisuma (media del mínimo y el máximo).

El ejercicio resuelto (solución) en ANSI C:


#include <stdio.h>
#define tamano 20

double media (double*, int); 
double maximo (double*, int); 
double minimo (double*, int); 
double semisuma (double, double); 

void main(void) 
{ 
  double vector[tamano]; 
  int numeroValores, i; 
  
  printf("Introduzca el número de valores a calcular:\n"); 
  printf("(el número debera ser menor de 20): "); 
  scanf("%d", &numeroValores); 
  printf("\n"); 
  printf("Introduce los %d valores numéricos:\n", numeroValores); 
  for (i = 0; i < numeroValores; i++) 
  { 
    printf("Valor %d: ", i + 1); 
	scanf("%lf", &vector[i]); 
  } 
  printf("\n"); 
  printf("media= %5.2lf \n", media (vector, numeroValores)); 
  printf("maximo= %5.0lf \n", maximo (vector, numeroValores)); 
  printf("minimo= %5.0lf \n", minimo (vector, numeroValores)); 
  printf("semisuma= %5.2lf \n", semisuma (maximo(vector, numeroValores), minimo(vector, numeroValores))); 
} 

double media (double* valores, int num) 
{ 
  double suma=0.0, med; 
  int i; 
  
  for (i = 0; i < num; i++) 
    suma += valores[i]; 
  med = suma / num; 
  return (med); 
} 

double minimo (double* valores, int num) 
{ 
  int i; 
  double min; 

  min = valores[0]; 
  for (i = 1; i < num; i++) 
    if (valores[i] < min) 
	  min = valores[i]; 
  return (min); 
} 
	
double maximo (double* valores, int num) 
{ 
  int i; 
  double max; 
  
  max = valores[0]; 
  for (i = 1; i < num; i++) 
    if (valores[i] > max) 
	  max = valores[i]; 
  return (max); 
} 

double semisuma (double max, double min) 
{ 
  return ((max + min) / 2.0); 
}




Publicado el: 2009-10-17

Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A