Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include<iostream>
- using namespace std;
- struct Element
- {
- int key;
- Element *left;
- Element *right;
- } *mainTree = NULL, *evenNumbers = NULL, *oddNumbers = NULL;
- void Add(int number, Element* &t) //добавяне на възли
- {
- if (t == NULL)
- {
- t = new Element;
- t->key = number;
- t->left = NULL;
- t->right = NULL;
- }
- else
- {
- if (t->key < number)
- {
- Add(number, t->right);
- }
- else
- {
- Add(number, t->left);
- }
- }
- }
- int Height(Element *t)
- {
- if (t == NULL)
- return -1;
- int u = Height(t->left);
- int v = Height(t->right);
- if (u>v)
- return u + 1;
- else
- return v + 1;
- }
- void Show(Element *t)
- {
- if (t)
- {
- Show(t->left);
- Show(t->right);
- cout << t->key << "\t";
- }
- }
- void DividingATree(Element *t)
- {
- if (t)
- {
- if (t->key % 2 == 1)
- {
- Add(t->key, oddNumbers);
- }
- else
- {
- Add(t->key, evenNumbers);
- }
- DividingATree(t->left);
- DividingATree(t->right);
- }
- }
- void main()
- {
- cout << "Enter only integer numbers, please. The program will print: the main tree, even numbers and odd numbers." << endl;
- cout << "Enter oh to exit." << endl << endl;
- int number = 1;
- while (number != 0)
- {
- cout << "Enter an integer number: ";
- cin >> number;
- if (number != 0 && number > 0)
- {
- Add(number, mainTree);
- }
- }
- cout << endl << "The main tree looks like this:" << endl;
- Show(mainTree);
- DividingATree(mainTree);
- cout << endl << "Even numbers:" << endl;
- Show(evenNumbers);
- cout << endl << "Odd numbers:" << endl;
- Show(oddNumbers);
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment