3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
1

Рекурсивная функция.Деревья

08.06.2018, 07:32. Показов 406. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый, мне надо вывести дерево по вертикали у меня есть структура tree содержащие в себе такую информацию как обьект, мать, отец тип данных переменных string.
Функция принимает аргуметы размер массива структур - k, номер обьекта a, и массив структур.
По сути ее задача такова передаем номер в массиве структур центра функции (я знаю тут косяк не как не придумал в центр запихать CEP, а2 функцию некруто.) Далее смотрим отца обьекта и ищем есть ли такой обьект в массиве структур если да то вызываем рекурсию если нет и отец не пустой то просто печатаем его.
функцию прилогаю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void build_tree(int SIZE, int a, tree array[]){ 
   int fater=-1, mother=-1;
   for (int i = 0; i < SIZE; i++){//searsh
      if ((compare_string(array[a].fater, array[i].object)) == true){
         fater = i;
      }
      if ((compare_string(array[a].mother, array[i].object)) == true){
         mother = i;
      }
   }
   if (fater != -1)
      build_tree(SIZE, fater, array);
   if (mother != -1)  
      build_tree(SIZE, mother, array);
   if (array[a].fater!='\0')
      cout << array[a].fater << '\n';
   if (array[a].mother != '\0')
      cout << array[a].mother << '\n';
}
так вот функция выводит:
KAH
TMP
TAP
XAH
OKA
POH
BAP
HA
EB
ATM
MAM
CEP
А должна выводить:
KAH
TOP
TMP
ATM
TAP
CEP //центральный элемент
XAH
HA
OKA
MAM
POH
EB
BAP
Помогите пж я запутался и нужен свежий взгляд.

Добавлено через 9 минут
а так же забыл если у обьекта нету отца ищем мать если нету матери функция завершается.Если мать найдена то передаем номер матери и вызываем эту же функцию
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.06.2018, 07:32
Ответы с готовыми решениями:

Рекурсивная функция
Как мне оформить в рекурсивную функцию? Напишите код пожалуйста, буду благодарен)) #include...

Рекурсивная функция
Здравствуйте, помогите написать программу на языке С++ Для заданного одномерного массива A из N...

Рекурсивная функция
Последовательность многочленов определяется рекуррентными соотношениями: Т0(x) = 1, Т1(x) = x,...

Рекурсивная функция
Здравствуйте! Дана задача смоделировать распространение вируса на плоскости. Вначале в одной из...

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

Рекурсивная функция
Рекурсивная функция. Задача в тгм, чтобы вручную задать значение N и вывести на экран то же самое...

Рекурсивная функция
Написать рекурсивную фукцию вычисления

Рекурсивная функция
Как написать рекурсивную функцию для реализации рекуррентной последовательности? В основной...

Рекурсивная функция!
нужна помощь, как вычислить а в степени n, т.е написать программу использую две функции рекурсивную...


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

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

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