• Sábado 14 de Diciembre de 2024, 11:52

Autor Tema:  Re: Ayuda!!  (Leído 723 veces)

Tigre sta. Julia

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ayuda!!
« en: Domingo 25 de Mayo de 2003, 21:47 »
0
:ayuda:

por favor alguien de ustedes podria
explicarme el sig. codigo??
#include <stdio.h>
#include <conio.h>

//PARA QUE SIRVE ESTA struct
struct nodo
    { struct nodo *izq;
      int info;
      struct nodo *der;
    };
//y porque se define este tipo de dato??
typedef struct nodo *arbol;


void carga(arbol r)
{ arbol dir;
  char resp;
  printf(" => Introduzca el dato : ");
  r->info=getche();//que se esta haciendo aqui???
  printf("nExiste hijo izquierdo de %c (s/n)?", r->info);
  resp=getch();
  if(resp=='s')
    {  dir=new nodo;//aca...
       r->izq = dir;//y aca??
       // llamada recursiva
       carga(r->izq);
    }//FIN DEL IF
  else
    r->izq=NULL;
  printf("nExiste hijo derecho de %c (s/n)?", r->info);
  resp=getch();
  if(resp=='s')
    { dir=new nodo;
      r->der = dir;
      // llamada recursiva
      carga(r->der);
    }//FIN DEL IF
  else
    r->der = NULL;
}//FIN DE CARGA

void preOrden(arbol r)
{ if(r!=NULL)
    { printf("%2c", r->info);
      preOrden(r->izq);
      preOrden(r->der);
    }//FIN DEL IF
}

void inOrden(arbol r) {
  if(r!=NULL) {
    inOrden(r->izq);
    printf("%2c", r->info);
    inOrden(r->der);
  }
}

void posOrden(arbol r) {
  if(r!=NULL) {
    posOrden(r->izq);
    posOrden(r->der);
    printf("%2c", r->info);
  }
}

void main()
{ arbol a;
  clrscr();
  a=new nodo;
  carga(a);
  printf("nn Recorrido recursivo en pre-orden: ");
  preOrden(a);
  printf("n Recorrido recursivo en in-orden: ");
  inOrden(a);
  printf("n Recorrido recursivo en pos-orden: ");
  posOrden(a);
  getch();
}//FIN DE main

espero que por favor me puedan ayudar

ATTE: Pedro :ayuda:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Ayuda!!
« Respuesta #1 en: Lunes 26 de Mayo de 2003, 19:08 »
0
Parece que maneja un arbol binario y lo del :
//PARA QUE SIRVE ESTA struct
struct nodo
{ struct nodo *izq;
int info;
struct nodo *der;
};
//y porque se define este tipo de dato??
typedef struct nodo *arbol;

struct se utiliza para definir un tipo de datop compuesto , a manera de estructura, y typedef  en este caso nos ahorra declarar las variables como

struct arbol *mivariable;

y mejor
arbol mivariable;


r->info=getche();//que se esta haciendo aqui???

como r es un apuntador..revisa y veras...
hacemos referencia a su contenido, no a travez de puntos como se haria normalmente:  r.info, sino que al ser apuntador se hace r->info, que es algo asi como r que apunta a info.

La aplicaion realiza dos tipos de recorrido diferente a travez de un arbol.

Debes investigar.

Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io