Resultados 1 al 3 de 3

Colas en c++

  1. #1 Colas en c++ 
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Hola a tod@s, ya se que hay muchos manuales de C/C++, pero por mucho que busco me sigue fallando este metodo. Os lo pego

    colae colae :: Aniadir(colae *enColar,avion *nuevo)
    {

    if (enColar->esVacia())
    {
    enColar->prim = nuevo;
    enColar->ult = nuevo;
    enColar->prim->sig=NULL;
    enColar->ult->sig=NULL;
    printf("Añadir: Acabo de agregar el primer nodo\n");
    cout<<"ID_AVION: " << " " << enColar->ult->getID_Avion() << "\n";
    cout<<"FUEL: " << " " << enColar->ult->getFuel() << "\n";
    cout<<"PISTA: " << " " << enColar->ult->getPista() << "\n";
    cout<<"TERMINAL: " << " " << enColar->ult->getTerminal() << "\n";
    return *enColar;
    }
    else
    {
    enColar->ult->sig=nuevo;
    enColar->ult=nuevo;
    enColar->ult->sig=NULL;
    return *enColar;
    }
    }

    es la tipica funcion de Añadir Nodo a la Cola, por mucho que lo intento, inserta el primero y a continuacion lo machaca y el ptr primero y ptr ultimo es el mismo, no veo mi error, ¿me podeis echar una manita?
    Muchas gracias
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

  2. #2  
    Medio
    Fecha de ingreso
    Jan 2006
    Mensajes
    98
    Descargas
    0
    Uploads
    0
    Bueno, si dices que te inserta el primero bien pero te lo reemplaza luego supongo que el fallo estará en la parte de ELSE. Mirando ahí la verdad es que me parece que esta mal:

    1. El siguiente del ultimo es NUEVO (añades un nuevo nodo al final, bien)
    2. El ultimo es nuevo ?????? (porque si el ultimo ya existía y apuntaba al primer nodo)
    3. El siguiente del ultimo es null (falso, deberia ser el siguiente del siguiente del ultimo es null)


    De todas formas para hacer esto bien primero debes crear colas genericas e intentar no usar los punteros en C++, todo lo puedes solucionar con referencias.

    PS. Pega también el código de la estructura colae porque aunque se intuya todo siempre es mejor tener la visión de verdad.
    Prvo nauci milslit, poslije programiraj.
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Muchas gracias polimeron, ya resolvi el problema, el problema no era en esta funcion, sino en la de imprimir el puntero.., sorry!! pero esque me traia de cabeza esta practica.
    Muchas gracias
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

Temas similares

  1. Respuestas: 3
    Último mensaje: 31-12-2008, 18:47

Marcadores

Marcadores