hola que tal
necesito una pequeña ayuda, ya que tengo una tarea de arboles binario en c++
se me pide graficar el arbol pero me tiene confundido, les agradezco por su ayuda
les agrego el codigo que llevo
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <iostream.h> #include <string.h> #define n 50; struct arbol { int info;
struct arbol *left; struct arbol *right; };
typedef struct arbol nodetree; typedef nodetree *arbolptr;
void insertar(arbolptr*r,int x) { arbolptr pnuevo,panterior,pactual; pnuevo=(arbol*)malloc(sizeof(arbol)); if(pnuevo!=NULL) { pnuevo->info=x; pnuevo->right=NULL; pnuevo->left=NULL; panterior=NULL; pactual=*r; printf("%d",pnuevo->info);
while(pactual!=NULL && x>pactual->info) { panterior=pactual; pactual=pactual->left; }
if(panterior==NULL) { pnuevo->left=*r; *r=pnuevo; }
else { panterior->left=pnuevo; pnuevo->left=pactual; } } }
void arbolgrafico(arbolptr *r, int x) { arbolptr pactual, pizq; if(pactual== NULL) { printf("la lista esta vacia\n"); }
}
void instrucciones() { printf("\n\n ************PROGRAMA DE ARBOL***************"); printf(" \n\n\t*****MENU PRINCIPAL********\n"); printf("\n 1- INTRODUZCA UN ELEMENTO AL ARBOL"); printf("\n 2- MOSTRAR"); printf("\n 3- ARBOL GRAFICO"); printf("\n 4-SALIR\n"); }
void imprimir(arbolptr pactual) { if(pactual==NULL) printf("\n La lista esta vacia\n");
else { printf("\n La cadena de elementos del Arbol es:\n");
while(pactual!=NULL) { printf("%d->\n",pactual->info); pactual=pactual->left; }
printf("NULL\n\n"); } }
void main() { arbolptr L=NULL; int inf, opcion; instrucciones(), (" \n Seleciona la opcion: \n"); scanf("%d",&opcion); while(opcion!=4){ switch(opcion) {
case 1: { printf("\n Introduzca el elemento:"); scanf("%d",&inf); insertar(&L,inf); imprimir(L); instrucciones(); break; }
case 2: { printf("MOSTRAR"); imprimir(L); break; }
case 3: { printf("Arbol Grafico"); arbolgrafico(&L,inf); instrucciones(); break; }
case 4: { printf("Fin del programa"); break; } default: printf("Operacion invalida"); instrucciones(); break; }
printf("\n SELECCIONA UNA OPCION: "); scanf("%d",&opcion); }// Fin del While
printf("Fin del proyecto");
}
saludos
|