С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Вывести номер, имя, оценку школьника получивший самый лучший балл Мне надо создать программу которая выводит все данные школьни ка получивший максимальный балл. Надо обязательно использовать структуры. Например мы вводим 3 1 Petya 50 2 Alex 99.1 3 Sasha 90 и оно должен вывести 2 Alex 99.1 а моя программа выводит только балл 99,1 https://www.cyberforum.ru/ cpp-beginners/ thread2719716.html Дополнить класс перегруженными операциями C++
Здравствуйте, написал программу, надо дополните класс Задания: • конструктором по умолчанию, • конструктором с параметром, • к о н с т р у к т о р о м копирования, • деструктором. Перегруженными
C++ Реализовать рекурсивный и итеративный варианты решении задач https://www.cyberforum.ru/ cpp-beginners/ thread2719709.html
Ввести с клавиатуры два натуральных числа для вычисления корня k> 1 -ого степени из числа a> = 0, используя рекуррентную формулу. где n - количество элементов последовательности приближенных значений корня k-го степени из числа a. Реализовать рекурсивный и итеративный варианты решении задач, используя рекурсию и оператор цикла.
C++ Как избежать перехода на новую строку? Суть программы: Пользователь вводит кол-во строк пирамиды (от 20 и более) и на это кол-во строк строится сама пирамида из букв 'X'. Проблема: Если размер окна не позволяет дорисовать строку пирамиды, то происходит переход на новую строку, где происходит дорисовка тех символов, которые не влезли. Вопрос: Как убрать переход строки, чтобы пирамида отрисовывалась в невидимой области или, может... https://www.cyberforum.ru/ cpp-beginners/ thread2719704.html
Описать класс треугольник C++
Условие: Всем привет. Помогите разобраться. В задании описать класс треугольник, методы - площадь, периметр, вывод. Нашел программу на С# помогите перевести на с++, сижу сейчас на контрольной не знаю что делать using System; namespace Triangle { internal class Triangle {
C++ Определить вхождение подстроки в строку Вводится строка, затем вводится подстрока. Если подстрока есть в введённой строке вывести «да», иначе «нет». Сделать это с использованием символьного массива Char https://www.cyberforum.ru/ cpp-beginners/ thread2719688.html
C++ Не получается создать вектор https://www.cyberforum.ru/ cpp-beginners/ thread2719685.html
Нужно создать вектор структур. На строке sscbpl.type = 'c'; выдает ошибку "the size of an array must be greater then zero". Не понимаю, что не так Вектор должен быть глобальным, это важно. здесь лишь часть кода, конечно же. //#include "hc_root.h" #include "float.h" //#include "obj_chart/chart_enums.h" #include <cmath> #include <windows.h>
Создать класс эллипсов. Членами класса являются длины полуосей эллипса C++
Создать класс эллипсов. Членами класса являются длины полуосей эллипса. методами класса являются: ввод эллипса с клавиатуры; вывод эллипса на экран; вычисление площади и периметра эллипса и вывод результата на экран.
C++ Реализовать массив монстров разных типов, используя механизмы раннего и позднего связывания. https://www.cyberforum.ru/ cpp-beginners/ thread2719681.html
Задание: Исходные классы представлены следующей диаграммой классов. Есть несколько типов монстров. Все монстры могут атаковать (attack) и перемещаться (move). Реализовать массив монстров разных типов, используя механизмы раннего и позднего связывания. методы attack() и move() у каждого класса монстров (A, B, C) реализуются как вывод в консоль сообщения о том, что данный монстр атакует/двигается...
C++ Создать класс треугольников https://www.cyberforum.ru/ cpp-beginners/ thread2719677.html
Добрый день, сижу на контрольной дистанционной по ООП. Вот задание, мб даже наброски помогут) Создать класс треугольников .Членами класса являются длины сторон треугольника методами класса являются: ввод треугольника с клавиатуры; вывод треугольника н а е к р а н; а б ч и с л е н и е периметра и площади и вывод результата на экран.
C++ Составить программу расчета таблицы значений функции f(x)
Составить программу расчета таблицы значений функции f(x) на интервале a<=x<=b в n равностоящих точках. Границы интервала a,b и количество точек n ввести с клавиатуры. Результаты вывести на печать. f(x)=e^-0,5x*cos^2(Px) Найти количество положительных значений функции f(x), на заданном интервале.
C++ Проблема с подключением заголовочный файлов Visual Studio 2019 16 F:\glfw-3.3.2.bin.WIN64\include - По этому пути лежит одна папка GLFW, а в ней glfw3.h, как только я не добавлял заг. файл. в VS она не хочет находить его. Помогите. #include<GLFW\glfw3.h> здесь она выдает ошибку, что не может найти библиотеку https://www.cyberforum.ru/ cpp-beginners/ thread2719648.html
6770 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
29.10.2020, 17:05 0

Почему удаляются только те чётные элементы которые я добавил, а не все которые есть в бинарном дереве? - C++ - Ответ 14955589

29.10.2020, 17:05. Показов 2097. Ответов 23
Метки (Все метки)

Ответ

Цитата Сообщение от Egorka2000 Посмотреть сообщение
Почему удаляются только те чётные элементы которые я добавил, а не все которые есть в бинарном дереве?
Предположим, что delete_elem работает правильно (в чём я не уверен)
Тогда
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
Node* delete_even(Node *aNode)
{
    if(aNode == NULL)
        return aNode;
        
    if((aNode->Data % 2) == 0)
    {
        Node* temp;
        if(aNode->Right == NULL)
        {
            temp = aNode->Left;
        }
        else
        {
            Node* temp2 = aNode->Right;
            
            if(aNode->Left == NULL)
            {
                temp2->Left = aNode->Left;
                temp = temp2;
            }
            else
            {
                Node* temp3 = temp2->Left;
                while(temp3->Left != NULL)
                {
                    temp2 = temp3;
                    temp3 = temp2->Left;
                }
                temp2->Left = temp3->Right;
                temp3->Left = aNode->Left;
                temp3->Right = aNode->Right;
            }
        }
        delete aNode;
        return temp;
    }
    else 
    {
        aNode->Left = delete_even(aData, aNode->Left);
        aNode->Right = delete_even(aData, aNode->Right);
    }
    return aNode;
}
Добавлено через 1 минуту
C++
1
2
cout <<"Удаление чётных элементов"<<endl;
Root = delete_even(Root);


Вернуться к обсуждению:
Почему удаляются только те чётные элементы которые я добавил, а не все которые есть в бинарном дереве? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2020, 17:05
Готовые ответы и решения:

Почему удаляются не все строки, которые соответствуют условию?
Мне нужно удалить записи за неделю У меня есть такой запрос: DELETE FROM kassa WHERE...

Элементы которые имеют четный индексы упорядочить по возростанию а элементы которые не четные по убыванию
3)Элементы которые имеют четный индексы упорядочить по возростанию а элементы которые не четные по...

Если в дереве есть хотя бы один простой элемент, то найти сумму не листьев; иначе увеличить все четные элементы вдвое
Дано дерево целых чисел. Если в дереве хотя бы один простой элемент, то найти сумму не листьев....

Функция: есть ли в бинарном дереве внутренний узел, у которого только один потомок?
Здравствуйте. Помогите пожалуйста. Надо написать функцию,проверяющую есть ли в дереве внутренний...

23
29.10.2020, 17:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2020, 17:05
Помогаю со студенческими работами здесь

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

Все элементы массива, которые больше девяти, заменить девятками, а все элементы, которые меньше пяти, – пятерками
Задан одномерный массив А. Все элементы массива, которые больше девяти, заменить девятками, а все...

В бинарном дереве определить число узлов у которых есть указатель только на одну ветвь.
Помогите плз. Нужен код на определение числа узлов у которых есть указатель только на одну ветвь....

Вывести все гласные буквы, которые встречаются хотя бы в одном слове и все согласные, которые входят только в одно слово
Дан текст на английском языке, оканчивающийся точкой. Вывести на экран все гласные буквы, которые...

Объединить 2 списка в один, элементы которого будут только те элементы, которые есть в первом, но нет во втором
Например '(1 2 4 7 8) '(3 5 8 2 0 5) Результат - '(1 4 7)

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

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru