Ayuda para arreglar este programa:
Citar#include <iostream.h>
int x,mayor,menor,i;
int main (void)
{
cout << "Ingrese 100 numerosr" <<endl<<endl;
menor = 99999999;
mayor = -999;
for (i=1 ; i<=100 ; i++)
{
cout << "Ingrese el dato numérico: " <<endl;
cin >> x;
if(i>mayor)
{
mayor=x;
}
if(x<menor)
{
menor=x;
}
}
cout << "El numero mayor ingresado es: " <<mayor<<endl;
cout << "El numero menor ingresado es: " <<menor<<endl;
system("pause");
return 0;
}
quiero que al ejecutarlo en la pantalla negra diga: "Ingrese el dato numérico 1:"
Ingrese el dato numérico 2:
Ingrese el dato numérico 3:
O sea que tenga un conteo, 1 , 2, 3.....
cout << "Ingrese el dato numérico: " << i <<endl;
ya el for está recorriendo esos valores... solo tienes que en cout agregar tu salida con el contador del for...
Cita de: douglascarvallo en 22 Junio 2013, 04:52 AM
Ayuda para arreglar este programa:
Sólo indicarte un par de cositas:
* En general, en C++ le sobra el .h a la librería iostream. Otra cosa es que estuviera el código en C.
* Para usar la función system hace falta la librería cstdlib.
* No tiene mucho sentido declarar las variables como globales en este caso. Fíjate que las tienes declaradas fuera de la función main y además es una buena práctica inicializarlas previamente.
* Cuando una función, como if, while for se componen de una sola sentencia las llaves están de más, sólo enmarañan el código.
* Acostúmbrate a "indentar" correctamente el código. Eso facilita su posterior lectura.
* En general es necesario, si no usas la forma abreviada, el incluir using namespace std para el uso de los cout y cin.
* Los valores MAX y MIN es arriesgado ponerlos a voleo. Por ejemplo ese MAX de -999 podría ser superado fácilmente. Yo aconsejo utilizar los valores MAX y MIN que te da la librería climits, donde están los max y min de los distintos tipos de enteros, entre otros valores.
#include <iostream>
#include <climits>
#include <cstdlib>
using namespace std;
int main (void)
{
int x=0,mayor=0,menor=0,i=0;
cout << "Ingrese 100 numeros y el programa determinara el mayor y el menor" <<endl<<endl;
menor = INT_MAX;
mayor = INT_MIN;
for (i=0 ; i<100 ; i++)
{
cout << "Ingrese el dato numerico: "<<i+1 <<endl;
cin >> x;
if(x>mayor)
mayor=x;
if(x<menor)
menor=x;
}
cout << "El numero mayor ingresado es: " <<mayor<<endl;
cout << "El numero menor ingresado es: " <<menor<<endl;
system("pause");
return 0;
}
Saluditos!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Reeditado y corregido.
Otro error en el programa se encuentra en el bucle:
for (i = 1; i <= 100; i++){
cout << "Ingrese el dato numérico: " << endl;
cin >> x;
if (i > mayor){ // <==
mayor = x;
}
if (x < menor){
menor = x;
}
}
En la linea indicada estas comparando el mayor con el indice "i" cuando deberías comparar con el valor introducido por el usuario: "x > mayor".
Un saludo
Gracias por su ayuda.