Programación General => C/C++ => Mensaje iniciado por: alexistkd en Miércoles 9 de Abril de 2008, 06:00
Título: Tengo Un Problema Usando For , If En Un Programa
Publicado por: alexistkd en Miércoles 9 de Abril de 2008, 06:00
un programa que lee 10 enteros positivos que representan el saladio de los 10 empleados de la empresa en miles de dolares y tengo que determinar rango salarial esto es lo que hize pero al final no me tira el rango solo me tira el salario mayor de la lista no logro captar el error Gracias de antemano
#include<iostream> #include<iomanip>
using namespace std;
main(){ int salario[9]; int k; int i; int j; int mayor,menor; int rango; cout<<"Introduzca diez numeros"<<endl; for(i=0;i<=9;i++){ cin>>salario; } mayor=salario[0]; for(j=0;j<=10;j++){ if(salario[j]>=mayor){ mayor=salario[j]; } } menor=salario[0]; for(k=0;k<=10;k++){ if(salario[k]<menor){ menor=salario[k]; } } rango=mayor-menor; cout<<"el rango es de "<<rango<<" mil dolares"<<endl; system ("pause"); }
Título: Re: Tengo Un Problema Usando For , If En Un Programa
Publicado por: Geo en Miércoles 9 de Abril de 2008, 07:54
Primero una recomendación: utiliza la etiqueta adecuada del foro para mostrar código, conserva la indentación y es mucho más legible. Ahora, vamos con tu programa.
Los índices que utilizas son incorrectos. La instrucción
Código: Text
int salario[ 9 ];
Ojo: declara la variable salario como un vector de 9 posiciones (no 10), además de que se accede a dichas posiciones con índices que van del 0 al 8.
Esto:
Código: Text
for(i=0;i<=9;i++){
cin>>salario[i];
}
Recorre el vector salario como si contara con 10 posiciones, cuando sólo tiene 9. Lo correcto para recorrer el vector de nueve posiciones creado al inicio sería:
Código: Text
for ( i = 0; i < 9; i++ ) {
o
Código: Text
for ( i = 0; i <= 8; i++ ) {
Mismo caso para los dos ciclos for restantes.
Título: Re: Tengo Un Problema Usando For , If En Un Programa
Publicado por: alexistkd en Miércoles 9 de Abril de 2008, 13:52
ok listo muchisimas graciass ia ncontre los problemas gracias x las indicaciones me fueron muy utiles.