no encuentro el fallo y se que lo tiene!!!

Iniciado por morty2, 6 Octubre 2010, 02:43 AM

0 Miembros y 1 Visitante están viendo este tema.

morty2

hola a todos
estoy empezando a aprender prgramacion c++ y tengo este pequeño problema,


encontre un ejercicio donde te pedian hacer un programa en el que ingresas tres numeros y te devuelve el numero medio, para que se me entienda.........
si yo ingreso  1    ,  4  ,  7   el programa devuelve el numero    4,
o si yo ingreso    45,    23    ,99   el programa te devuelve       45


mi problema esta en que como soy totalmente inexperto se que tiene un fallo porque en mi code si yo ingreso     2     4       7        no me da resultado alguno!!!!!!
aunque si ingreso         4       2      7     si que me da          4,
o si ingreso     7      2      4          tambien me da          4.

creo que me e explicado no?

alguien sabria decirme en que fallo para poder corregirme y seguir aprendiendo??



aqui mi code:


#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
    system("color 2");
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@                            CODE BY MORTY2                             @@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    Sleep(2000);
    int a,b,c;   //debo usar int o float??
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("   INGRESA TRES NUMEROS Y EL PROGRAMA TE DIRA EL NUMERO DE VALOR CENTRAL   ")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cout<<("")<<endl;
    cin>>a;
    cin>>b;
    cin>>c;
    cout<<("")<<endl;
    Sleep(200);
                        if((a>=b) && (a<=c))
   
    cout<<("EL NUMERO DE VALOR CENTRAL ES: ")<<a;
                                                       
                        if((b<=a) && (b>=c))
    {
    cout<<("EL NUMERO DE VALOR CENTRAL ES: ")<<b;
    }                                         
                         if((c<=b) && (c>=a))
    {
    cout<<("EL NUMERO DE VALOR CENTRAL ES: ")<<c;
    }       
    Sleep(2000);
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@                            CODE BY MORTY2                             @@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
    cout<<"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"<<endl;
Sleep(1000);
system("pause");
return 0;
}



gracias de antemano a todos!!!!!
morty2

Anco

El fallo esta en la logica de esta linea:

Citarif((b<=a) && (b>=c))

No entiendo porque usas el >= o <=, si como lo estas haciendo al usar numeros iguales no te funcionara, en este caso solo te funciona con numeros distintos. Para la proxima deberias usar bucles.
???

morty2

eske no se como solucionarlo xD

acabo de empezar con esto de la programacion y por eso pregunto,

estoy leyendo y leyendo tutos,manuales,info.....
y en uno de ellos planteaba este programa sin ninguna explicacion.

me decidido a hacerlo y hay me quedado, no se como solucionarlo, no se si mi planteamiento esta bien o mal, no se si deberia borrarlo y empezar de cero..............

Leyer

Llamar a system solo le quitaría la portabilidad a tu programa, system("pause"); es mejor sustituirlo por cin.get();

Código (cpp) [Seleccionar]
if(a > b && a < c)cout << " Centro : "<<a<<endl;
if(a > c && a < b)cout << " Centro : "<<a<<endl;
if(b > a && b < c)cout << " Centro : "<<b<<endl;
if(b > c && b < a)cout << " Centro : "<<b<<endl;
if(c > b && c < a)cout << " Centro : "<<c<<endl;
if(c > a && c < b)cout << " Centro : "<<c<<endl;


Un saludo.

Shell Root

#4
Tienes que mirar la secuencia y los posibles números ingresados. Es decir,
Código (PoC) [Seleccionar]
a    =    1    2    2    3    3    1    => a<b & a>c | a>b & a<c
b    =    2    1    3    2    1    3    => b>a & b<c | b<a & b>c
c    =    3    3    1    1    2    2    => c>a & c<b | c>b & c<a

Código,
Código (cpp) [Seleccionar]
   if(((a < b) && (a > c)) || ((a > b) && (a < c))){
       cout<<("EL NUMERO DE VALOR CENTRAL ES: a(")<<a<<")\n";
   }else if(((b > a) && (b < c)) || ((b < a) && (b > c))){
       cout<<("EL NUMERO DE VALOR CENTRAL ES: b(")<<b<<")\n";
   }else if(((c > a) && (c < b)) || ((c > b) && (c < a))){
       cout<<("EL NUMERO DE VALOR CENTRAL ES: c(")<<c<<")\n";
   }
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Leyer

Cita de: Shell Root en  6 Octubre 2010, 05:02 AM
Tienes que mirar la secuencia y los posibles números ingresados. Es decir,
Código (PoC) [Seleccionar]
a    =    1    2    2    3    3    1    => a<b & a>c | a>b & a<c
b    =    2    1    3    2    1    3    => b>a & b<c | b<a & b>c
c    =    3    3    1    1    2    2    => c>a & c<b | c>b & c<a

Código,
Código (cpp) [Seleccionar]
    if(((a > b) && (a > c)) || ((a > b) && (a < c))){
        cout<<("EL NUMERO DE VALOR CENTRAL ES: a(")<<a<<")\n";
    }else if(((b > a) && (b < c)) || ((b < a) && (b > c))){
        cout<<("EL NUMERO DE VALOR CENTRAL ES: b(")<<b<<")\n";
    }else if(((c > a) && (c < b)) || ((c > b) && (c < a))){
        cout<<("EL NUMERO DE VALOR CENTRAL ES: c(")<<c<<")\n";
    }


shell root no es valido si ingreso 4 21 3

Shell Root

Simon, xD no se porque en el código lo puse así, pero en el análisis lo hice bien...   :silbar:
Código (PoC) [Seleccionar]
shellroot@alex-laptop:~/Escritorio$ g++ PoC.cpp
shellroot@alex-laptop:~/Escritorio$ ./a.out
EL NUMERO DE VALOR CENTRAL ES: a(4)
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

morty2

muchisimas gracias a tosos!

solucionado el problema estudiare mi fallo con la solucion para aprender gracias a vosotros!!!!!!!! :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D :D