You are on page 1of 4

//Arboles

//Autor:Jonathan Chourio y los muchachos del Barrio

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

const int N=17;


int A[N],i,j,k,sum,aux,p,v;
float promedio;

void IngresarArbol();
void Hojas();
void Ramas();
void Hijos();
void Hermanos();
void Descendientes();
void Antecesores();
void Altura();
void Profundidad();
void Longitud();
void error();
/*
void MostrarDatos();
void Suma();
void Promedio();
*/
void main () {

do {
clrscr();
gotoxy(30,1);printf("ARBOLES");
gotoxy(10,3);printf("1.Ingresar Arbol");
gotoxy(10,5);printf("2.Nodos Hojas");
gotoxy(10,7);printf("3.Nodos Ramas");
gotoxy(10,9);printf("4.Hijos de un Nodo X");
gotoxy(10,11);printf("5.Hermanos de un Nodo X");
gotoxy(10,13);printf("6.Descendientes de un Nodo X");
gotoxy(10,15);printf("7.Antecesores de un Nodo X");
gotoxy(10,17);printf("8.Altura de un Nodo X");
gotoxy(10,19);printf("9.Profundidad de un Nodo X");
gotoxy(10,21);printf("10.Longitud del Camino X - Y");
gotoxy(10,23);printf("0.Salir");
gotoxy(10,25);printf("Su Seleccion: ");
scanf("%d",&k);
switch (k) {
case 1: IngresarArbol();break;
case 2: Hojas();break;
case 3: Ramas();break;
case 4: Hijos();break;
case 5: Hermanos();break;
case 6: Descendientes();break;
case 7: Antecesores();break;
case 8: Altura();break;
case 9: Profundidad();break;
case 10: Longitud();break;
case 0: exit(0);break;
default: error();
}
} while(k!=0);
}
void IngresarArbol() {
clrscr();
for(i=1;i<N;i++) {
do{
printf("\n\nPadre del nodo %d = ",i);
p=scanf("%d",&A[i]);
} while ((A[i]<0)||(A[i]>20));
}
}

/* Ak� est� es mostrando los valores del arreglo*/


void Hojas() {
clrscr();
for(i=1;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Ramas() {
clrscr();
for(i=0;i<N;i++)
printf("%4d",A[i]);
getch();

void Hijos() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Hermanos() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Descendientes() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Antecesores() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Altura() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Profundidad() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}

void Longitud() {
clrscr();
for(i=0;i<N;i++) {
do{
printf("\n\nNota[%d]=",i);
v=scanf("%d",&A[i]);
} while (((A[i]<0)||(A[i]>20))||(v==0));
}
}
/*void MostrarDatos() {
clrscr();
for(i=0;i<N;i++)
printf("%4d",A[i]);
getch();
}
void Suma() {
clrscr();
sum=0;
for(i=0;i<N;i++)
sum+=A[i];
getch();
}
void Promedio() {
clrscr();
sum=0;
for(i=0;i<N;i++)
sum+=A[i];
promedio=sum/N;
gotoxy(20,10);printf("Promedio: %6.2f",promedio);
getch();
}
*/
void error() {
}

You might also like