Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- cout << "Выбран режим работы со строками " << endl;
- cout << "Доступны следующие функции " << endl;
- cout << " 1 - map\n 2 - where\n 3 - слияние\n 4 - извлечение поддерева по заданному элементу\n 5 - поиск на вхождение поддерева\n 6 - поиск элемента на вхождение " << endl;
- char string_mode_choise;
- do { cin >> string_mode_choise; } while (string_mode_choise != '1' && string_mode_choise != '2' && string_mode_choise != '3' && string_mode_choise != '4' && string_mode_choise != '5' && string_mode_choise != '6');
- switch (string_mode_choise) {
- case '1': { // map
- cout << "Функция map преобразует все элементы дерева в строку, введенную пользователем\n\n";
- tree<string> *string_tree = new tree<string>;
- string_tree->set_tree();
- cout << "Введите строку для преобразований: " << endl;
- string for_map; cin >> for_map;
- string_tree->map(for_map);
- string_tree->print_by_levels();
- break;
- }
- case '2': { // where
- cout << "Функция where вернёт дерево, состоящее из строк исходного, длина которых меньше 5\n\n";
- tree<string> *string_tree = new tree<string>;
- tree<string> *res_string_tree = new tree<string>;
- string_tree->set_tree();
- string_tree->where(res_string_tree);
- res_string_tree->rootRightLeft_print();
- res_string_tree->leftRootRight_print();
- res_string_tree->print_by_levels();
- break;
- }
- case '3': { // слияние
- cout << "Первое дерево для слияния:" << endl;
- tree<string> *first_string_tree = new tree<string>;
- first_string_tree->set_tree();
- cout << "Второе дерево для слияния:" << endl;
- tree<string> *second_string_tree = new tree<string>;
- second_string_tree->set_tree();
- second_string_tree->merge_trees(first_string_tree);
- cout << "Результат: " << endl;
- first_string_tree->rootRightLeft_print();
- first_string_tree->leftRootRight_print();
- first_string_tree->print_by_levels();
- break;
- }
- case '4': { // извлечение поддерева
- tree<string> *string_tree = new tree<string>;
- tree<string> *res_string_tree = new tree<string>;
- string_tree->set_tree();
- cout << "Введите строку: ";
- string str; cin >> str;
- string_tree->subtree_extraction(str, res_string_tree);
- cout << "Результат извлечения поддерева по заданному элементу: " << endl;
- res_string_tree->rootRightLeft_print();
- res_string_tree->leftRootRight_print();
- res_string_tree->print_by_levels();
- break;
- }
- case '5': { // поиск на вхождение поддерева
- tree<string> *string_tree = new tree<string>;
- cout << "Введите дерево " << endl;
- string_tree->set_tree();
- tree<string> *string_subtree = new tree<string>;
- cout << "Введите поддерево " << endl;
- string_subtree->set_tree();
- if (string_tree->if_tree_contain(string_subtree)) cout << "Поддерево содержится в дереве" << endl;
- else cout << "Поддерево не найдено в дереве" << endl;
- break;
- }
- case '6': { // поиск на вхождение элемента
- tree<string> *string_tree = new tree<string>;
- string_tree->set_tree();
- cout << "Введите строку, для которой надо проверить, содержится ли она в дереве: ";
- string str; cin >> str;
- if (string_tree->if_element_contain(str)) cout << "Строка содержится в дереве" << endl;
- else cout << "Строка не найдена в дереве" << endl;
- break;
- }
- break;
- }
- break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement