// Programación en C++ para Ingenieros, Ed. Thomson Paraninfo, 2006
// Capítulo 4: Esquemas Algorítmicos Básicos

// Programa que dados los N datos de un sensor acústico calcula
// el valor mínimo, el valor máximo y la media

#include <iostream>

using namespace std;

// Definición de constantes
const int N = 24;

// Programa principal
int main()
{
  // Declaración de variables
  int   i;
  float aux, min, max, media;

  // Inicio del tratamiento
  i     = 1;
  media = 0.0;

  cout << "Entra los " << N << " datos reales del sensor acustico:" << endl;

  // Obtención del primer elemento
  cin >> aux;

  // Suponemos que el primer elemento es el máximo y el mínimo,
  // después en el tratamiento ya actualizaremos su valor
  max = aux; min = aux;

  while ( i < N ) // No último elemento
  {
    // Tratar elemento
    // Nótese que en la primera iteración no son necesarias estas comprobaciones
    if ( aux > max ) max = aux;
    else if ( aux < min ) min = aux;
    media += aux;

    //Obtener siguiente elemento
    cin >> aux;
    i++;
  }

  // Tratamiento final
  if ( aux > max ) max = aux;
  else if ( aux < min ) min = aux;
  media += aux;

  cout << "Valor minimo: " << min << endl;
  cout << "Valor maximo: " << max << endl;
  cout << "Valor medio: "  << media/float(N) << endl;

  return 0;
}