Código:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NULL 0
//
//Programa que carga los nodos de un �rbol binario en memoria.
struct treenodo {
struct treenodo *izqptr; //puntero al nodo izquierdo
char dato[40]; //dato del nodo
struct treenodo *derptr; // puntero al nodo derecho
};
void crear(treenodo *nodo){ //crea un �arbol binario
char resp[1];
clrscr();
cout<< "Entre el dato ";
gets (nodo->dato);
cout <<"Hay nodos a la Izquierda entre S/N ";
gets(resp);
if (strcmp(resp, "S")== 0) {
nodo->izqptr= new (treenodo);
crear(nodo->izqptr); }
else
nodo->izqptr=NULL;
cout <<"Hay nodos a la Derecha entre S/N ";
gets(resp);
if (strcmp(resp, "S")== 0) {
nodo->derptr= new (treenodo);
crear(nodo->derptr); }
else
nodo->derptr=NULL;
return;
}
//Recorrido en Pre-Orden
void preorden(treenodo *nodo){
if (nodo != NULL) {
printf("%c", nodo->dato); //Realiza una operación en nodo
preorden(nodo->izqptr);
preorden(nodo->derptr);
}
}
void main(int){
treenodo *nodo; // puntero al nodo
nodo= new treenodo;
crear(nodo);
preorden(nodo);
getch();
}



