Foros del Web » Programación para mayores de 30 ;) » C/C++ »

problema con ejercicio

Estas en el tema de problema con ejercicio en el foro de C/C++ en Foros del Web. hola amigos os dejo el siguiente código y os digo: el algoritmo que trato de solucionar es pedir dos numeros por teclado ingresarlos y que ...
  #1 (permalink)  
Antiguo 06/06/2010, 10:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 9 meses
Puntos: 11
problema con ejercicio

hola amigos os dejo el siguiente código y os digo:

el algoritmo que trato de solucionar es pedir dos numeros por teclado ingresarlos y que te cuente desde el uno al otro sin importar que el primero sea mayor o menor.

El caso es que no me da error pero me pide el pimer numero lo lee, me pide el segundo lo lee, y luego se queda bloqueado me dice: "pulse intro para continuar".

Me gustria que lo probaran y me contaran, gracias.

Código:
#include <cstdlib>
#include <iostream>

#include <math.h>

using namespace std;

int main()
{
  int num1, num2, i;
 
     cout<<"ingrese primer numero:\n";
     
     cin>>num1;
     
     cout<<"ingrese segundo numero numero:\n";
     
     cin>>num2;  
     
     
     
                 if(num1>num2)//si el primer numero es mayor cuento desde esta hacia //atras hasta el segundo
                 {
                  for(i=num1; i<=num2; i--)
                   {
                  
                   cout<<i<<"\n";
                   }
                 }
                 else//si no entonces cuento hacia adelante desde el mas pequeño
                 {
                    for(i=num1; i>=num2; i++) 
                     {
                    cout<<i<<"\n";
                    }
                 }
                  
     
                 system("pause");
 
}
  #2 (permalink)  
Antiguo 06/06/2010, 13:14
 
Fecha de Ingreso: mayo-2007
Mensajes: 200
Antigüedad: 17 años
Puntos: 1
Respuesta: problema con ejercicio

El problema es que tienes mal la condición de los bucles for, por eso nunca las cumple y no los realiza, y no aparece nada en la pantalla.

Este sería el código:
Código:
#include <iostream>

using namespace std;

int main()
{
  int num1, num2;
 
     cout<<"ingrese primer numero:\n";
     cin>>num1;
     
     cout<<"ingrese segundo numero numero:\n";
     cin>>num2;  
    
    cout<<endl;   
    if(num1>num2)//si el primer numero es mayor cuento desde esta hacia //atras hasta el segundo
      for(int i=num1; i>=num2; i--) 
        cout<<i<<endl;
    else//si no entonces cuento hacia adelante desde el mas pequeño            
        for(int i=num1; i<=num2; i++) 
         cout<<i<<endl;                
system("pause");
 
return 0;
}
Te comento:

Ponte en el ejemplo:

1º) num1= 1; num2= 5;
2º)Compruebo el if, no se cumple -> voy al else
4º) i = 1; mientras i>= 5; i++ (esta es la condición que tu tenías) pero esto nunca se cumple, porque i = 1, no puede ser mayor o igual a 5. (Te sucedía lo mismo en los dos for)

Algunos detalles:

No necesistas usar las librerías stdlib.h, ni math.h, todo lo que estas usando viene ya en iostream

Cuando hagas salto de línea ("\n") utiliza mejor: <<endl; ("\n" es de C y endl de C++)

Si has puesto int main(), entonces debes devolver un return 0, para indicar que todo ha ido bien.

Salu2.
__________________
Blog: http://a-dream-of-dragon.blogspot.com
  #3 (permalink)  
Antiguo 06/06/2010, 13:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 606
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: problema con ejercicio

Gracias de nuvo este lo habia solucionado ya.
saludos!

muy amable.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:18.