Id Returned 1 exit status (AYUDA)

Iniciado por GhentDB, 27 Noviembre 2017, 21:01 PM

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

GhentDB

Buenas tardes, estoy haciendo un programa en c++ que me muestre un Árbol Binario de Busqueda, sin embargo al compilar me marca "Id Returned 1 exit status" y no entiendo el porque, si me pudieran ayudar estaría de más agradecido  :D, les dejo el código:

#include <iostream>
using namespace std;

string Palabras[30]={"Aprender","Aumento","Acceso", "Chiste","Costo","Cuello", "Encontrar","Entrar","Empezar", "Gloton","Gozar","Gustar", "Indice","Imposible","Imponer", "Mostrar","Morir","Marcar", "Oír","Oler","Obstaculo", "Parir","Penetrar","Palo", "Respirar","Reir","Rozar","Salir","Sondear","Saludar"};

string Definiciones[30]={   "Adquirir el conocimiento de algo","Acrecentamiento o extensión de algo","Acción de llegar",
                     "Dicho u ocurrencia graciosos","Cantidad que se da o se paga por algo","Parte del cuerpo que une la cabeza con el tronco",
                       "Dar con alguien o algo que se busca","Ir o pasar de fuera adentro","Dar principio a algo",
                       "Que come con exceso","Sentir placer o alegría a causa de algo","Sentir o percibir el sabor de las cosas",
                      "Registrar ordenadamente datos e informaciones", "No posible","Poner una carga, una oblicación u otra cosa",
                      "Manifestar o poner a la vista algo para que se vea","Llegar al término de la vida","Señalar con signos distintivos",
                     "Percibir con el oído los sonidos","Percibir los olores","Impedimento, dificultad, inconveniente",
                     "Expeler en tiempo oportuno el feto que tenía concebido","Dicho de un cuerpo: Introducirse en otro","Pieza de madera mucho más larga que gruesa, generalmente cilíndrica y fácil de manejar",
                     "Absorber el aire, por pulmones, branquias, traque","Celebrar con risa algo","Pasar tocando y oprimiendo ligeramente la superficie de otra",
                     "Pasar de dentro afuera","Hacer las primeras averiguaciones sobre alguien o algo ","Dirigir a alguien, al encontrarlo o despedire de él."
};

struct arbol{
     string data;
     struct arbol *izquierda;
    struct arbol *derecha;
    struct defPila *definicion;
};

struct defPila{
   string Defini;
   struct defPila *siguiente;
}*borde;

typedef struct arbol *ABB;

void Agregar(ABB &ARBOLITO,int a);
void PonerNodo(ABB &ARBOLITO, string s,int a){   
     if(ARBOLITO==NULL){
        ABB nuevo = new(struct arbol);
        nuevo->data = s;
        nuevo->izquierda = NULL;
        nuevo->derecha = NULL;
        ARBOLITO=nuevo;
        Agregar(nuevo,a);
    }
     else if(s < ARBOLITO->data)
          PonerNodo(ARBOLITO->izquierda, s,a);
     else if(s > ARBOLITO->data)
          PonerNodo(ARBOLITO->derecha, s,a);
}

void Insertar(ABB &ARBOLITO,int a){
   defPila *elem= new defPila();
   elem->Defini=Definiciones[a];
   if(borde==NULL)
      elem->siguiente=NULL;
   else
      elem->siguiente=borde;
   ARBOLITO->definicion=elem;
   borde=elem;
}

void pre(ABB ARBOLITO){
    if(ARBOLITO!=NULL)
        {
           defPila *auxiliar= new defPila();
              auxiliar=ARBOLITO->definicion;
                 cout <<"Palabra: "<< ARBOLITO->data << endl;
                cout<<"\nDefinicion: "<<auxiliar->Defini<<endl;
                auxiliar=auxiliar->siguiente;
                pre(ARBOLITO->izquierda);
                pre(ARBOLITO->derecha);
        }   
}

void in(ABB ARBOLITO)
{
    if(ARBOLITO!=NULL){
       
           defPila *auxiliar= new defPila();
           auxiliar=ARBOLITO->definicion;
                in(ARBOLITO->izquierda);
                cout <<"Palabra: "<< ARBOLITO->data << endl;
                cout<<" \t Definicion: "<<auxiliar->Defini<<endl;
                auxiliar=auxiliar->siguiente;
                in(ARBOLITO->derecha);
    }
}

void post(ABB ARBOLITO){
    if(ARBOLITO!=NULL)
     {
        defPila *auxiliar= new defPila();
        auxiliar=ARBOLITO->definicion;
          post(ARBOLITO->izquierda);
          post(ARBOLITO->derecha);
          cout <<"Palabra: "<< ARBOLITO->data << endl;
          cout<<"\nDefinicion: "<<auxiliar->Defini<<endl;
          auxiliar=auxiliar->siguiente;
     }
}

int main(){
   int contarPalabras=0,contarAuxiliar=0;
   int opcion,dato;
   ABB ARBOLITO = NULL;
   do{
         cout<<"1. Inicializar arbol"<<endl;
         cout<<"2. PreOrden"<<endl;
         cout<<"3. InOrden"<<endl;
         cout<<"4. PostOrden"<<endl;
         cout<<"5. Salir"<<endl;
         cin>>opcion;
         switch (opcion){
            case 1:
               for(int x=0;x<30;x++){
                  do{
                     contarAuxiliar ++;
                     PonerNodo(ARBOLITO,Palabras[contarPalabras],x);
                  }while(contarAuxiliar<=3);
                  contarPalabras++;
                  contarAuxiliar=0;
               }
            break;
            case 2:
               pre(ARBOLITO);
            break;
            case 3:
               in(ARBOLITO);
            break;
            case 4:
               post(ARBOLITO);
            break;
            case 5:
               cout<<"SALIENDO!"<<endl;
            break;
         }
   }while(opcion!=5);
   
   return 0;
}

ivancea96

No definiste la función Agregar(). Solo la declaraste.