Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Son1Q
11 / 11 / 13
Регистрация: 23.05.2015
Сообщений: 50
Завершенные тесты: 1
1

Рекурсивно найти число входящих элементов Е в дерево Т

03.06.2015, 23:52. Просмотров 266. Ответов 1
Метки нет (Все метки)

Почему-то не работает, помогите! :C
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct gruz_p // Описание записи о грузополучателе
{
    char
        nomer[d_f],
        fio[d_f],
        dr[d_f],
        pol[d_f],
        ss[d_f],
        kd[d_f],
        oklad[d_f];
};
struct node // Описание узла дерева
{
    gruz_p data;
    node* left;
    node* right;
};

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int count(node* top, int &k)
{
    k = 0;
    char value[d_f];
    cout << "Введите номер: " << endl;
    cin >> value;
    if (top)
    {
        if (top->data.nomer == value)
        {
            k++;
            count(top->left, k); //обход левого поддерева
            count(top->right, k); //обход правого поддерева
        }
    }
    cout << "Количество элементов входящих в данное дерево: " << k << endl;
    _getch();
    return 1;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2015, 23:52
Ответы с готовыми решениями:

Подсчитать число элементов, входящих в непрерывные последовательности отрицательных чисел
ЗАДАЧА Задан одномерный массив Х вещественных чисел. Подсчитать число...

Не рекурсивно разрушить двоичное дерево
Доброго времени суток, натолкните пожалуйста на мысль, как не рекурсивно...

Рекурсивно найти сумму нечетных элементов до заданного n
Добрый вечер! Необходимо рекурсивно найти сумму нечетных элементов до...

Найти сумму элементов вектора, входящих в интервал
Помогите пожалуйста с написанием программы на С. Вектор А сформировать из...

Массив целых чисел состоит из n элементов, найти сумму простых чисел, входящих в него
массив целых чисел состоит из n элементов, найти сумму простых чисел, входящих...

1
Perfilov
264 / 164 / 56
Регистрация: 25.02.2015
Сообщений: 435
04.06.2015, 00:04 2
это сравнение чаровских массивов?
if (top->data.nomer == value)

похоже на то. строки так не сравниваются. либо сишное strcmp либо самое простое
все свои массивы чаров замените на std::string

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

вообще кривая рекурсия какая-то. на каждом вызове что-то запрашивается и печатается. это неверно.

Добавлено через 9 минут
вот такое вроде больше на правду похоже. только вам надо будет адаптировать
под такое своей код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int count(node* top, const std::string& value)
{
    if (!top)
    {
       return 0;
    }
 
    int result = top->data.nomer == value ? 1 : 0;
    result += count(top->left, value);   //обход левого поддерева
    result += count(top->right, value); //обход правого поддерева
    return result;
}
 
 
.....
 
std::string value = "1";
int c = count(tree, value);
std::cout << "c = " << c << std::endl;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2015, 00:04

Число простых делителей не превосходящих х на С++ рекурсивно
Салют,народ! Помогите пожалуйста.Срочно нужна задачка: Найти число простых...

Рекурсивно расставить знаки операций так, чтобы получилось заданное число
Нужно между цифрами от 1 до 9 расставить знаки операций +,- так, чтобы...

Сумма элементов массива рекурсивно
Опять все сначала:(((. Задача: соствить рекурсивную функцию, подсчета элементов...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru