Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 17.11.2020
Сообщений: 24
1

Описать функцию, заменяющую в дереве Т все отрицательные элементы на их абсолютные значения

24.11.2020, 12:42. Показов 1579. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
#include <math.h>
 
using namespace std;
 
struct tree {
    int data;
    tree* left, * right;
};
 
tree *root = NULL;
 
void insertchild(tree* leaf, int k) {
    if (k < leaf->data) {
        if (leaf->left != NULL)
            insertchild(leaf->left, k);
        else {
            leaf->left = new tree;
            leaf->left->data = k;
            leaf->left->left = NULL;
            leaf->left->right = NULL;
        }
    }
    else {
        if (leaf->right != NULL)
            insertchild(leaf->right, k);
        else {
            leaf->right = new tree;
            leaf->right->data = k;
            leaf->right->left = NULL;
            leaf->right->right = NULL;
        }
 
    }
}
 
void insert(int k) {
    if (root != NULL)
        insertchild(root, k);
    else {
        root = new tree;
        root->data = k;
        root->left = NULL;
        root->right = NULL;
    }
}
 
void build() {
    int n;
    cout << "Введите количество элементов: ";
    cin >> n;
    cout << endl << "Введите ваши элементы: ";
    for (int i = 0; i < n; i++) {
        int element;
        cin >> element;
        //element = abs(element);
        insert(element);
    }
}
 
void destroy(tree* leaf) {
    if (leaf != NULL) {
        destroy(leaf->left);
        destroy(leaf->right);
        delete leaf;
    }
}
 
 
void print(tree* leaf, int level) {
    if (leaf) {
        print(leaf->left, level + 1);
        for (int i = 0; i < level; i++) cout << "   ";
        cout << leaf->data << endl;
        print(leaf->right, level + 1);
    }
}
 
/*void absprint(tree* leaf, int lev) {
    if (leaf) {
        print(leaf->left, lev + 1);
        for (int i = 0; i < lev; i++) cout << "   ";
        cout << abs(leaf->data) << endl;
        print(leaf->right, lev + 1);
        if (leaf->right < 0) {
            leaf->right * -1 = leaf->right;
        }
    }
}*/
 
void preorderPrint(tree* root) {
    if (root == NULL) {
        return;
    }
    cout << root->data << ' ';
    preorderPrint(root->left);
    preorderPrint(root->right);
}
 
int main() {
    setlocale(LC_ALL, "Rus");
    build();
    int level = 0, lev = 0;
    //absprint(root, lev);
    //preorderPrint(root);
    cout << endl << endl << endl << endl << endl << endl;;
    print(root, level);
    destroy(root);
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2020, 12:42
Ответы с готовыми решениями:

Необходимо описать процедуру, которая заменяет в дереве все отрицательные элементы на их абсолютные величины
Необходимо описать процедуру или функцию , которая заменяет в дереве T все отрицательные элементы...

Написать программу, которая заменяет в дереве T все отрицательные элементы на их абсолютные величины
Дали непростые задачи по программированию. Кто бы мог хотя бы ввести меня в дело? Имеются двоичные...

Как используя очередь, написать процедуру или функцию, которая заменяет все отрицательные элементы файла на их абсолютные значения?
Как используя очередь, написать процедуру или функцию, которая заменяет все отрицательные элементы...

Все отрицательные элементы массива заменить на их абсолютные значения
Все отрицательные элементы массива A,P,R,T,Q,F заменить на их абсолютные значения, результат...

4
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
24.11.2020, 14:14 2
И в чем вопрос?
0
1 / 1 / 0
Регистрация: 17.11.2020
Сообщений: 24
24.11.2020, 14:46  [ТС] 3
jugu, так написать эту самую функцию, которая будет заменять отрицательные значения на модуль
0
610 / 415 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
24.11.2020, 14:51 4
Лучший ответ Сообщение было отмечено _shadow_kiss_ как решение

Решение

Цитата Сообщение от _shadow_kiss_ Посмотреть сообщение
так написать эту самую функцию, которая будет заменять отрицательные значения на модуль
Берешь за основу функцию preorderPrint и вместо вывода в поток пишешь проверку на отрицательность и замену значения:
C++
1
2
3
4
5
6
7
8
void replace_neg_abs(tree* root) {
    if (root == NULL) {
        return;
    }
    if (root->data < 0) root->data = std::abs(root->data);
    replace_neg_abs(root->left);
    replace_neg_abs(root->right);
}
1
1 / 1 / 0
Регистрация: 17.11.2020
Сообщений: 24
24.11.2020, 19:38  [ТС] 5
jugu, все поняла. спасибо большое!
0
24.11.2020, 19:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2020, 19:38
Помогаю со студенческими работами здесь

Как используя стек, заменить все отрицательные элементы файла на их абсолютные значения
Как используя стэк, написать процедуру или функцию, которая заменяет все отрицательные элементы...

Заменить все отрицательные числа на их абсолютные значения
В таблице из 20 чисел,лежащих в промежутке от -50 до 50,заменить все отрицательные числа на их...

В матрице заменить все отрицательные числа на их абсолютные значения
В матрице A(5,5) заменить все отрицательные числа на их абсолютные значения.

Написать программу, позволяющую заменять отрицательные элементы матрицы на абсолютные значения
Нужно написать программу в делфи, позволяющую заменять отрицательные элементы матрицы на абсолютные...

Создать функцию, заменяющую относительные адреса в ссылках на абсолютные
Доброго времени суток! У меня такой вопрос, есть задача создать функцию которая принимает html код...

В таблице из 20 чисел, лежащих в промежутке от -50 до 50, заменить все отрицательные числа на их абсолютные значения
В таблице из 20 чисел, лежащих в промежутке от -50 до 50, заменить все отрицательные числа на их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru