Haber si me podéis ayudar, quiero hacer un programa que recoja un total de 10 valores del teclado y halle el valor medio, la suma de todos y además que muestre el valor mayor y el menor. Yo lo he hecho así, pero tengo una serie de problemas que no doy solucionado:
Código:
#include <iostream>
using namespace std;
int main()
{
double valores [10];
cin >> valores [0];
cin >> valores [1];
cin >> valores [2];
cin >> valores [3];
cin >> valores [4];
cin >> valores [5];
cin >> valores [6];
cin >> valores [7];
cin >> valores [8];
cin >> valores [9];
cin.get();
cin.get();
double x = valores [0] + valores [1] + valores [2] + valores [3] + valores [4] + valores [5] + valores [6] + valores [7] + valores [8] + valores [9];
cout << "La suma de los valores es: " << x <<endl;
cout << "El valor medio es: " << x/10 <<endl;
double y;
int z=2;
int m=11;
if (valores [0] >= valores [1]) y = valores [0];
else y = valores [1];
do
{
if (y <= valores [z]) y=valores [z];
z++;
m--;
}
while (m<=11);
cout << "El valor mayor es: " << y <<endl;
double q;
int r=2;
int n=11;
if (valores [0] <= valores [1]) q = valores [0];
else q = valores [1];
do
{
if (q >= valores [r]) y=valores [r];
r++;
n--;
}
while (n<=11);
cout << "El valor menor es: " << q <<endl;
cin.get();
cin.get();
return 0;
}
Los problemas que tengo son:
1- El programa se cierra tras introducir los valores sin dar tiempo a ver los resultados, a pesar de los cin.get();
2- A pesar de que pongo 10 valores al array, el programa me pide 11
¿Habría una forma más "elegante" de hacerlo con este nivel de conocimientos?
Nota: pongo variables double para evitar problemas, ya que es un programa didáctico.