wagner da silva Posted June 24, 2018 at 11:50 PM Report #611103 Posted June 24, 2018 at 11:50 PM (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 at 01:52 PM by wagner da silva falta de marcação no codigo
HappyHippyHippo Posted June 25, 2018 at 06:08 AM Report #611105 Posted June 25, 2018 at 06:08 AM (edited) E que erro dá? PS : inicializa correctamente todos os nos Edited June 25, 2018 at 06:09 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
wagner da silva Posted June 25, 2018 at 02:18 PM Author Report #611119 Posted June 25, 2018 at 02:18 PM 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
HappyHippyHippo Posted June 26, 2018 at 12:02 AM Report #611126 Posted June 26, 2018 at 12:02 AM e atender ao que escrevi ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
HappyHippyHippo Posted June 26, 2018 at 09:39 PM Report #611135 Posted June 26, 2018 at 09:39 PM ainda nada ? - que erro dá ? - inicializaste correctamente os nós ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
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