Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Diego_Capera

#1
Hola me podrían hacer el favor de explicarme como mostrar un árbol binario mediante el uso de pilas en inorden, de forma recursiva ya lo se mostrar pero mediante pilas no, gracias.

#include <iostream>
using namespace std;
class Arbol{
   int dato;
   Arbol *izq;
   Arbol *der;
public:
   void crearRaiz(Arbol *&,int);
   void insIzq(Arbol *&,int);
   void insDer(Arbol *&,int);   
   void crearArbol(Arbol *&);
   void inordenR(Arbol *);
   void mostrar(Arbol *);
};

void Arbol::crearRaiz(Arbol *&raiz,int d){
   raiz=new Arbol;
   raiz->dato=d;
   raiz->izq=raiz->der=NULL;
}

void Arbol::insIzq(Arbol *&aux,int d){
   Arbol *nuevo=new Arbol;
   nuevo->dato=d;
   nuevo->izq=nuevo->der=NULL;
   aux->izq=nuevo;   
}

void Arbol::insDer(Arbol *&aux,int d){
   Arbol *nuevo=new Arbol;
   nuevo->dato=d;
   nuevo->izq=nuevo->der=NULL;
   aux->der=nuevo;   
}

void Arbol::crearArbol(Arbol *&raiz){
   int d=66;
   Arbol *aux1,*aux2;
   while(d>0){
             cout<<"Dato= "<<endl;
             cin>>d;
             if(d>0){
                      if(!raiz)
                      crearRaiz(raiz,d);
                      else{
                            aux1=aux2=raiz;
                            while(aux2&&aux1->dato!=d){
                                                         aux1=aux2;
                                                         if(d<aux1->dato)
                                                         aux2=aux2->izq;
                                                         else
                                                         aux2=aux2->der;
                                             }
                           if(d==aux1->dato)
                           cout<<"Dato repetido"<<endl;
                           else{
                              if(d<aux1->dato)
                              insIzq(aux1,d);
                              else
                              insDer(aux1,d);
                     }
                    }
                   }            
   }   
}
void Arbol::inordenR(Arbol *aux){
   if(aux){   
   inordenR(aux->izq);
   cout<<aux->dato<<endl;
   inordenR(aux->der);}
}

int main(){
   Arbol *raiz=NULL,obj1;
   obj1.crearArbol(raiz);
   obj1.inordenR(raiz);

}
#2
Muy buen día tengan todos. Lo que pasa es que ya he realizado un programa "X" y necesito que ese programa tenga de fondo una imagen, solo necesito es como colocar una imagen de fondo en c++, ya he instalada las librerías allegro.h y miniwin pero la verdad no he podido realizarlo. Por favor alguien me podría ayudar?