ayuda en arboles binarios

Iniciado por josue_tux, 25 Junio 2011, 02:48 AM

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

josue_tux

Bueno mi problema es el siguiente:  diseñe un programa con arboles binarios, que imprima el recorrido inorden de los siguientes datos 1, 6 , 4 , 10, 12, 8. Nota el usuario no debe digitar ningu dato.

bueno , al compilar el programa no me da ningun error, pero no me imprime  el recorrido en Inorden de mi arbol no se en que me estoy equivocando, si me pueden decir, les adjunto el codigo:





#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef int Tipo_elemento;

struct nodo
{
   Tipo_elemento el;
   struct nodo *izq, *der;
};

typedef struct nodo NODO;

NODO* Crear_nodo(Tipo_elemento el);
NODO* Construir(Tipo_elemento el, NODO *izq, NODO *der);

//recibe como parametro un arbol y retorna su hijo izquierdo
NODO* Hijo_izq(NODO *a);

/recibe como parametro un arbol y retorna su hijo derecho
NODO* Hijo_der(NODO *a);

/*------------------- Recoridos del arbol binario ---------------------*/
void Inorden(NODO *a);


/*---------------------------------------------------------------------*/

NODO* Crear_nodo(Tipo_elemento el)
{
  NODO *nuevo;
  nuevo=(NODO*)malloc(sizeof(NODO));
  nuevo->el=el;
  nuevo->izq = nuevo->der = NULL;
  return nuevo;
}
NODO* Construir(Tipo_elemento el, NODO *izq, NODO *der)
{
  NODO *nn;
  nn=Crear_nodo(el);
  nn->izq=izq;
  nn->der=der;
  return (nn);
}
NODO* Hijo_izq(NODO *a)
{
  if(a)
    return (a->izq);
  else
     {
 return (NULL);
     }
}
NODO* Hijo_der(NODO *a)
{
  if(a)
    return (a->der);
  else
     {
 return (NULL);
     }
}

void main()
{
    NODO *raiz=NULL;
    Construir(1,izq,der); Construir(6,NULL,NULL);  Construir(4,NULL,NULL);
    Construir(10,izq,der); Construir(12,NULL,NULL);  Construir(8,NULL,NULL);
   
    printf("El recorrido en inorden sera:");
    Inorden(raiz);
    getchar();
}

void Inorden(NODO *a)
{
   if(a)
     {
 Inorden(a->izq);
 printf("%d", a->el);
 Inorden(a->der);
     }
}






satu

No te da errores al compilar?? a mi sí

Citar

error: 'izq' undeclared (first use in this function)
error: 'der' undeclared (first use in this function)


no tienes declarado 'izq' y 'der' en el main y los utilizas en 'Construir'

Además main debe devolver un int

Saludos
Breakbeat como forma de vida