Форум программистов, компьютерный форум, киберфорум
Наши страницы

Удалить из бинарного дерева всех отцов, имеющих одного сына - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Предусмотреть просмотр номеров маршрутов по названию остановки http://www.cyberforum.ru/cpp-beginners/thread1035695.html
Схему автобусных маршрутов города представить структурой типа граф. Узлы структуры соответствуют остановкам автобусных маршрутов и дополнительно включают название остановок. Предусмотреть просмотр...
C++ Задача на строки Задача:Дано предложение. Напечатать все символы, расположенные между первой и второй запятой. Если второй запятой нет, то должны быть напечатаны символы, расположенные после первой запятой. ... http://www.cyberforum.ru/cpp-beginners/thread1035691.html
C++ Работа с unordered_map
очень прошу помочь! имеется вот такой код: struct LOCATION { DATA_TYPE type; unsigned int pos; }; typedef std::unordered_map<unsigned int, LOCATION> IDToLOCATIONMap; ...
Ввести двумерный массив A(N×N) , вывести его. Найти сумму положительных элементов расположенных в части массива одновременно C++
Ввести двумерный массив A(N×N) , вывести его. Найти сумму положительных элементов расположенных в части массива одновременно как над главной, так и над побочной диагональю. Найденной суммой ...
C++ Возврат массива из функции http://www.cyberforum.ru/cpp-beginners/thread1035664.html
Здравствуйте. Не могу разобраться, почему при передачи массива из функции но не правильно передаётся. #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h>...
C++ Написать программу, которая определит, сколькими способами он может попасть в магазин, пройдя ровно K шагов Магазин (Время: 1 сек. Память: 16 Мб Сложность: 34%) На расстоянии N шагов от магазина стоит человек. Каждую минуту он выбирает, куда сделать шаг: к магазину или в противоположном направлении. ... подробнее

Показать сообщение отдельно
tanya993
1 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 4
11.12.2013, 20:50  [ТС]
Напишите хотя бы свою функцию не рекурсивно.

Добавлено через 3 часа 22 минуты
Задача решена. Я нашла ошибку. Ошибка заключалась в моей невнимательности. Ниже исправленная функция, для тех, кто столкнётся с подобным)

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
    void del(list *a)
    {
        list *b;
 
        if (a!=NULL)
        {
 
            del(a->right);
 
            if ((a->right==NULL)&&(a->left!=NULL))
            {
                if (a->rl==0)
                {
                    (a->dad)->left=a->left;
                    (a->left)->dad=a->dad;
                }
                else
                {
                    (a->dad)->right=a->left;
                    (a->left)->dad=a->dad;
                }
 
                b=a;
                a=a->dad;
                delete b;
            }
 
            if ((a->right!=NULL)&&(a->left==NULL))
            {
                if (a->rl==1)
                {
                    (a->dad)->right=a->right;
                    (a->right)->dad=a->dad;
                }
                else
                {
                    (a->dad)->left=a->right;
                    (a->right)->dad=a->dad;
                }
 
                b=a;
                a=a->dad;
                delete b;
            }
 
            del(a->left);
 
        }
    }
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.