Phoenix_x

Untitled

Apr 26th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct elem {
  6.     int key;
  7.     elem* left;
  8.     elem* right;
  9. } *root = NULL;
  10.  
  11.  
  12. int maxElement;
  13.  
  14. void add(int n, elem *&t);
  15. void getMaxElement(elem *t);
  16.  
  17. void main()
  18. {
  19.     int broj = 0;
  20.  
  21.     while(broj < 1)
  22.     {
  23.         cout << "Broj elementi: ";
  24.         cin >> broj;
  25.  
  26.         if(broj < 1)
  27.         {
  28.             cout << "Nevaliden broj" << endl;
  29.         }
  30.         else
  31.         {
  32.             break;
  33.         }
  34.     }
  35.  
  36.     int number;
  37.     cout << "Vavedete elementi: " << endl;
  38.  
  39.  
  40.  
  41.     for (int i = 0; i < broj; i++)
  42.     {
  43.         cin >> number;
  44.         add(number, root);
  45.     }
  46.  
  47.     maxElement = root->key;
  48.     getMaxElement(root);
  49.  
  50.     cout << "Maksimalniq element: " << maxElement << endl;
  51. }
  52.  
  53.  
  54. void add(int n, elem *&t) //dobavqne na listo
  55. {
  56.     if(t == NULL)
  57.     {
  58.         t = new elem;
  59.         t->key = n;
  60.         t->left = t->right = NULL;
  61.     }
  62.     else
  63.     {
  64.         if(t->key < n)
  65.         {
  66.             add(n, t->right);
  67.         }
  68.         else
  69.         {
  70.             add(n, t->left);
  71.         }
  72.     }
  73. }
  74.  
  75. void getMaxElement(elem *t)
  76. {
  77.     if(t)
  78.     {
  79.         if(t->key > maxElement)
  80.         {
  81.             maxElement = t->key;
  82.         }
  83.  
  84.         getMaxElement(t->left);
  85.         getMaxElement(t->right);
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment