elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  programa determinara el mayor y el menor
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa determinara el mayor y el menor  (Leído 2,354 veces)
douglascarvallo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
programa determinara el mayor y el menor
« en: 22 Junio 2013, 04:52 am »

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.....


« Última modificación: 23 Junio 2013, 07:03 am por douglascarvallo » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: 100 numeros y el programa determinara el mayor y el menor
« Respuesta #1 en: 22 Junio 2013, 05:09 am »

Código:
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...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: 100 numeros y el programa determinara el mayor y el menor
« Respuesta #2 en: 22 Junio 2013, 08:21 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.


Código
  1. #include <iostream>
  2. #include <climits>
  3. #include <cstdlib>
  4. using namespace std;
  5.  
  6. int main (void)
  7. {
  8.    int x=0,mayor=0,menor=0,i=0;
  9.    cout << "Ingrese 100 numeros y el programa determinara el mayor y el menor" <<endl<<endl;
  10.    menor = INT_MAX;
  11.    mayor = INT_MIN;
  12.    for (i=0 ; i<100 ; i++)
  13.    {
  14.        cout << "Ingrese el dato numerico: "<<i+1 <<endl;
  15.        cin >> x;
  16.        if(x>mayor)
  17.            mayor=x;
  18.        if(x<menor)
  19.            menor=x;
  20.    }
  21.    cout << "El numero mayor ingresado es: " <<mayor<<endl;
  22.    cout << "El numero menor ingresado es: " <<menor<<endl;
  23.    system("pause");
  24.    return 0;
  25. }
  26.  

 Saluditos!
    


Reeditado y corregido.
« Última modificación: 22 Junio 2013, 15:43 pm por leosansan » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: 100 numeros y el programa determinara el mayor y el menor
« Respuesta #3 en: 22 Junio 2013, 15:18 pm »

Otro error en el programa se encuentra en el bucle:
Código
  1. for (i = 1; i <= 100; i++){
  2.   cout << "Ingrese el dato numérico: " << endl;
  3.   cin >> x;
  4.  
  5.   if (i > mayor){ // <==
  6.      mayor = x;
  7.   }
  8.   if (x < menor){
  9.      menor = x;
  10.   }
  11. }
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
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
douglascarvallo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: programa determinara el mayor y el menor
« Respuesta #4 en: 23 Junio 2013, 07:05 am »

Gracias por su ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines