Um Pouco Sobre árvore
Trabalho Universitário: Um Pouco Sobre árvore. Pesquise 862.000+ trabalhos acadêmicosPor: Lara123456789 • 2/12/2013 • 407 Palavras (2 Páginas) • 801 Visualizações
1) Implemente uma função recursiva que, dada uma árvore, retorne a quantidade de nós que guardam os números pares. Essa função deve obedecer o protóripo: int pares(Arv* a);
#include<stdio.h>
#include<stdlib.h>
Struct Arv{
Int info;
arv* e;
arv* d;
};
Arv* cria(){
Return NULL;
}
Arv* cria2(int k, arv* dir, arv* esq){
Arv* a = (Arv*)malloc(sizeof(Arv));
a->info=k;
a->e=esq;
a->d=dir;
return a;
}
Int pares(Arv* a){
int o;
if(p->info%2==0){
o = o +1;
return o + pares(arv* e) + pares(arv* d);
}
if(p->info%2!=0){
return o + pares(arv* e) + pares(arv* d);
}
}
int main(){
Arv* a;
int n;
n = pares(a);
system(“pause>NULL”);
}
2) Implemente uma função recursiva que, dada uma árvore, retorne a quantidade de nós que guardam valores maiores que um determinado valor x (também passado como parâmetro). Essa função deve obedecer o protótipo: int maiores (Arv* a, int x);
#include<stdio.h>
#include<stdlib.h>
Struct Arv{
Int info;
arv* e;
arv* d;
};
Arv* cria(){
return NULL;
}
Arv* cria2(int k, arv* dir, arv* esq){
Arv* a = (Arv*)malloc(sizeof(Arv));
a->info=k;
a->e=esq;
a->d=dir;
return a;
}
Int maior(Arv* a, int x){
x = -500;
if(a->info>x){
x=a->info;
{
}
if(a->e==NULL & a->d==NULL){
return maior(Arv* a,x );
}
if(a->e==NULL & a->d!=NULL){
return maior(arv* d,x );
}
if(a->e!=NULL & a->d==NULL){
return maior(arv* e,x );
}
If(a->d!=NULL & a->e!=NULL ){
return maior(arv* d, x) + maior(arv* e,x);
}
}
}
int main(){
Arv* a;
int k, l;
l = maior(k);
system(“pause>NULL”);
}
3) Escreva uma função recursiva que calcule o comprimento do caminho interno de uma árvore. Essa função deve obedecer o protótipo: int comprimento (Arv* a);
4) Implemente uma função que, dada uma árvore, retorne a quantidade de folhas dessa árvore. Essa função deve obedecer o protóipo: int folhas (Arv* a);
#include<stdio.h>
#include<stdlib.h>
Struct Arv{
Int info;
arv* e;
arv* d;
};
Arv* cria(){
Return NULL;
}
Arv* cria2(int k, arv* dir, arv* esq){
Arv* a = (Arv*)malloc(sizeof(Arv));
a->info=k;
a->e=esq;
a->d=dir;
return a;
}
int folha(Arv* a){
int b=0;
if(a->e==NULL & a->d==NULL){
b++;
return b + folha(Arv* a);
}
If(a->e==NULL & a->d!=NULL){
b++;
return b + folha(arv* d);
}
If(a->e!=NULL & a->d==NULL){
b++;
return b + folha(arv* e);
}
If(a->e!=NULL & a->d!=NULL){
return folha(arv* e) + folha(arv* d);
}
}
int main(){
Arv* a;
int n;
n = folhas(a);
system(“pause>NULL”);
...