[C con Clase] Primer programa problema 10.1
Alejandro D.
druikeltoi en gmail.com
Lun Mayo 4 22:54:15 CEST 2015
Hola, este es mi primer programa en C++ y me aparecen un par de dudas.
1.Cuando meto los valores separados por espacios me deja meter mas de 10 valores y solo cuando aprieto "enter" se ejecuta el resto de programa cogiendo los 10 primeros valores. Sin embargo, si voy introduciendo un número y apretando "enter" cada vez cuando tengo 10 se ejecuta el resto del programa ¿Por qué ocurre esto?
2.El valor medio lo he sacado también con decimales. Hay alguna forma mejor para pasar entero a float?
Espero vuestras sugerencias para mejorar.
Gracias por adelantado.
Un saludo,
Alejandro
PROGRAMA
#include <iostream>
using namespace std;
int main()
{
int vector[10]; //Matriz de 10 enteros
int i; //Valor auxiliar para bucles
int suma, Vmedio, mayor, menor; //Variables para resultados
float SumaFloat, VmedioFloat;
cout <<"Introduce 10 numeros enteros separados por espacios"<< endl;
cin >> vector[0] >> vector[1] >> vector[2] >> vector[3] >> vector[4]
>> vector[5] >> vector[6] >> vector[7] >> vector[8] >> vector[9] ;
//Muestra la matriz introducida
cout <<"La matriz introducida es:"<< endl;
for (i=0; i<=9; i++)
cout << vector[i] << " ";
cout << endl;
//Muestra la suma de los valores
cout <<"La suma de valores de la matriz es:"<< endl;
suma=0;
for (i=0; i<=9; i++)
suma=suma+vector[i];
cout << suma << endl;
//Muestra el valor medio
cout <<"El valor medio de los valores es:"<< endl;
Vmedio = suma/10;
SumaFloat=suma; //Para convertir INT en FLOAT
VmedioFloat=SumaFloat/10.0;
cout << Vmedio << endl;
cout << VmedioFloat << endl;
//Muestra el mayor y el menor valor
mayor=vector[0], menor=vector[0];
for (i=1; i<=9; i++){
if (vector[i] > mayor) mayor = vector[i];
if (vector[i] < menor) menor = vector[i];
}
cout <<"El mayor de los valores es:"<< endl;
cout << mayor << endl;
cout <<"El menor de los valores es:"<< endl;
cout << menor << endl;
return 0;
}
Más información sobre la lista de distribución Cconclase