wagner da silva 0 Posted June 24, 2018 Report Share Posted June 24, 2018 (edited) Olá construí este código em arvore binária mas, está dando erro , apenas preciso fazê-lo apresentar um resultado, que é o numeral 20. alguém poderia me ajudar. #include <stdio.h> <typedef struct arv Arv;> struct arv { char op; float valor; <struct arv *esq, *dir;> }; // Implementar esta função <float avalia (Arv *a)> { <if ((a->esq == NULL) && (a->dir == NULL))> return a->valor; else{> < if(a->op == ‘+’) return avalia(a->esq) + avalia(a->dir)> < if(a->op == ‘-’) return avalia(a->esq) - avalia(a->dir)> < if(a->op == ‘*’) return avalia(a->esq) * avalia(a->dir)> < if(a->op == ‘/’) return avalia(a->esq) / avalia(a->dir)> } } <int main(void)> { < // Árvore para representar a operação: 5 * 3= 15> Arv no[3]; // Em vetor Arv op, val1, val2; // Em variáveis // Vetor no[0].op = '*'; no[0].esq = &no[1]; no[0].dir = &no[2]; no[1].valor = 5; no[2].valor = 3; < printf("Resultado da expressao: %.2f\n", avalia(&no[0]));> // Variáveis op.op = '*'; op.esq = &val1; op.dir = &val2; val1.valor = 5; val2.valor = 3; < printf("Resultado da expressao: %.2f\n", avalia(&op));> } Edited June 25, 2018 by wagner da silva falta de marcação no codigo Link to post Share on other sites
HappyHippyHippo 1,162 Posted June 25, 2018 Report Share Posted June 25, 2018 (edited) E que erro dá? PS : inicializa correctamente todos os nos Edited June 25, 2018 by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
wagner da silva 0 Posted June 25, 2018 Author Report Share Posted June 25, 2018 8 horas atrás, HappyHippyHippo disse: E que erro dá? PS : inicializa correctamente todos os nos Vou te colocar o enunciado pra tu teres uma noção. Elabore um programa em linguagem C que faça a leitura da árvore binária abaixo, executando as expressões aritméticas e imprimindo na tela o resultado do cálculo efetuado. Vale ressaltar que o resultado da expressão da árvore abaixo é o valor 20. segue o link da arvore binaria, que tenho q fazer por ela, lembrando que os valores dos nós na figura estão corretos mas no meu caso so muda , que o nó esquerdo , o sinal é menos , e o outro sinal é de mais, ok, na figura ta ao contrario, so isso, pra justamente ter o resultado 20. link da figura: http://ads-1s2010-bra-ifsp.blogspot.com/2011/05/questao-epo-arvore-binaria_6273.html Link to post Share on other sites
HappyHippyHippo 1,162 Posted June 26, 2018 Report Share Posted June 26, 2018 e atender ao que escrevi ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
HappyHippyHippo 1,162 Posted June 26, 2018 Report Share Posted June 26, 2018 ainda nada ? - que erro dá ? - inicializaste correctamente os nós ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now