Documentos de Académico
Documentos de Profesional
Documentos de Cultura
#include <stdlib.h>
#include <conio.h>
#include<time.h>
#include<stdio.h>
using namespace std;
typedef struct n{
char dato;
struct n *izq;
struct n *der;
}Nodo;
Nodo *raiz,*r=NULL;
int altura,contador,b,hojas=0;
int cont;
void
void
void
void
void
void
void
void
void
void
void
void
void
void
submenu();
crearArbol();
recorridoPRE();
recorridoPOS();
recorridoEN();
llenarauto();
submenu2();
recorridoPRE_listar();
vaciar();
mostrar();
NumeroHijos();
NumeroNodos();
auxContador(Nodo *raiz);
NumeroH();
}
}
void submenu(){
int n;
system("CLS");
system ("color 2F");
cout<<"de que altura quiere el arbol"<<endl;
cin>>n;
crearArbol(raiz,n,0);
altura =n;
b =n;
}
void submenu2(){
int a;
system("CLS");
system ("color 2F");
cout<<"altura del arbol"<<endl;
cin>>a;
llenarauto(raiz,a,0);
altura=a;
b = a;
}
void vaciar(Nodo *p){
if(p!=NULL){
vaciar(p->izq);
vaciar(p->der);
free(p);
p=raiz=NULL;
}
}
void NumeroNodos()
{
system ("CLS");
contador = 0;
auxContador(raiz);
cout<<"el numero de nodo es: "<<contador;
getch();
}
void auxContador(Nodo *p)
{
contador++;
if(p->izq) auxContador(p->izq);
if(p->der) auxContador(p->der);
}
void NumeroHijos()
{
system ("CLS");
contador = 0;
auxContador(raiz);
cout<<"el numero de hijos es: "<<contador-1;
getch();
}
void NumeroH(Nodo *p){
if (p!=NULL){
if (p->izq == NULL && p->der == NULL) cont++;
NumeroH(p->izq);
NumeroH(p->der);
}
}
}
getche();
break;
case 10:
NumeroH(raiz);
cout<<"numero de hojas: "<<cont;
getche();
break;
case 11:
NumeroNodos();
break;
case 12:
NumeroHijos();
break;
case 13:
cout<<"la altura es: "<<altura;
getche();
break;
default:
cout<<"\t\t error"<<endl;
}
} while(sigue);
}
main(){
menu();
system("pause>>null");
}