Advertisement
JosepRivaille

X64411: Arbres quasi coincidents

Nov 11th, 2015
465
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.07 KB | None | 0 0
  1. #include "Arbre.hh"
  2.  
  3.  
  4. bool search_differences(Arbre<int>& a, Arbre<int>& b, bool& odif)
  5. {
  6.   bool aux;
  7.   if ((a.es_buit() && !b.es_buit()) || (b.es_buit() && !a.es_buit())) {
  8.     if (odif) aux = false;
  9.     else {
  10.       if (!b.es_buit()) {
  11.         Arbre<int> b_aux(b), b1, b2;
  12.         b_aux.fills(b1, b2);
  13.         if (b1.es_buit() && b2.es_buit()) aux = true;
  14.         else aux = false;
  15.       }
  16.       else if (!a.es_buit()) {
  17.         Arbre<int> a_aux(a), a1, a2;
  18.     a_aux.fills(a1, a2);
  19.     if (a1.es_buit() && a2.es_buit()) aux = true;
  20.     else aux = false;
  21.       }
  22.       odif = true;
  23.     }
  24.   }
  25.   else if (a.es_buit() && b.es_buit()) aux = true;
  26.   else {
  27.     Arbre<int> a1, a2, b1, b2;
  28.     a.fills(a1, a2);
  29.     b.fills(b1, b2);
  30.     aux = search_differences(a1, b1, odif);
  31.     if (aux) aux = search_differences(a2, b2, odif);
  32.   }
  33.   return aux;
  34. }
  35.  
  36.  
  37. bool quasi_coincidents (Arbre<int> &a, Arbre<int> &b)
  38. /* Pre: a=A, b=B */
  39. /* Post: el resultat indica si A i B son quasi coincidents */
  40. {
  41.   bool odif = false;
  42.   return search_differences(a, b, odif);
  43. }
  44.  
  45. //JosepRivaille
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement