Kocyk

kopiec

Jun 3rd, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <ctime>
  4. #include <cstdlib>
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10. string cr,cl,cp;      
  11. int T[15], n = 0;
  12.  
  13. void printBT(string sp, string sn, int v)
  14. {
  15.   string s;
  16.  
  17.   if(v < n)
  18.   {
  19.     s = sp;
  20.     if(sn == cr) s[s.length() - 2] = ' ';
  21.     printBT(s + cp, cr, 2 * v + 2);
  22.  
  23.     s = s.substr(0,sp.length()-2);
  24.  
  25.     cout << s << sn << T[v] << endl;
  26.  
  27.     s = sp;
  28.     if(sn == cl) s[s.length() - 2] = ' ';
  29.     printBT(s + cp, cl, 2 * v + 1);
  30.   }
  31. }
  32.  
  33. void heap_push(int v)
  34. {
  35.   int i,j;
  36.  
  37.   i = n++;
  38.   j = (i - 1) / 2;
  39.  
  40.   while(i > 0 && T[j] < v)
  41.   {
  42.     T[i] = T[j];
  43.     i = j;
  44.     j = (i - 1) / 2;
  45.   }
  46.  
  47.   T[i] = v;
  48. }
  49.  
  50. int main()
  51. {
  52.   int i, v;
  53.  
  54.   srand(time(NULL));
  55.  
  56.  
  57.  
  58.   cr = cl = cp = "  ";
  59.   cr[0] = 218; cr[1] = 196;
  60.   cl[0] = 192; cl[1] = 196;
  61.   cp[0] = 179;
  62.  int menu;
  63.     bool wyjscie=false;
  64.     do
  65.     {
  66.  
  67.  
  68.     cout<< "Co chcesz zrobic?"<<endl;
  69.     cout<< "1. Dodac elementy do drzewa"<<endl<<endl;
  70.     cout<< "2. Przeglad drzewa"<<endl<<endl;
  71.     cout<< "3. Wyszukanie elementu w drzewie"<<endl<<endl;
  72.     cout<< "4. exit"<<endl<<endl;
  73.     cin>>menu;
  74.     switch(menu)
  75.     {
  76.         case 1:
  77.     for(i = 0; i < 15; i++)
  78.     {
  79.       cin>>v;
  80.     heap_push(v);
  81.      }
  82.      break;
  83.         case 2:
  84.            printBT("","",0);
  85.             break;
  86.         case 3:
  87.    
  88.             break;
  89.  
  90.         case 4:
  91.             wyjscie=true;
  92.             break;
  93.     }
  94.     }while(wyjscie==false);
  95.  
  96.  
  97.  
  98.  
  99. }
Add Comment
Please, Sign In to add comment