Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Additionner_monome(p1 : in polynome; mono: in polynome) return polynome is
- p_final, p_ins: polynome;
- begin
- --Première vérification pour regarder si on a un arbre vide, dans ce cas on retourne l'autre ; si les deux sont vides on retourne null
- if An_Vide(mono) then
- p_final:=An_Creer_Vide;
- -- p_final.all:=p1.all;
- elsif An_valeur(p1).val = '0' then
- if An_valeur(p1).exposant+An_valeur(mono).exposant /=0 then
- p_final:= new noeud;
- p_final.all:=p1.all;
- An_Changer_Valeur(p_final,('0',An_valeur(p1).exposant+An_valeur(mono).exposant));
- else
- p_final:=An_Creer_Vide;
- end if;
- else
- if An_valeur(p1).exposant = An_valeur(mono).exposant then
- p_final:=Additionner_monome(An_Fils(p1,1),An_Fils(mono,1));
- else
- if An_Frere(p1, 1) /=null then
- p_final:=Additionner_monome(An_Frere(p1,1),mono);
- else
- p_ins:= new noeud;
- p_ins.all:=mono.all;
- p_final:= new noeud;
- p_final.all:=p1.all;
- An_Inserer_Frere(p_final, p_ins);
- end if;
- end if;
- end if;
- return p_final;
- end Additionner_monome;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement