Форум программистов, компьютерный форум CyberForum.ru

проход по дереву на c++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нелепые define-ы http://www.cyberforum.ru/cpp-beginners/thread194309.html
Вопрос... Какой смысл в таких define-ах? Чтобы никто ни черта не понял? оО #define _TRY_BEGIN try { #define _CATCH(x) } catch (x) { #define _CATCH_ALL } catch (...) { #define _CATCH_END } #define _RAISE(x) throw x #define _RERAISE throw Собственно из файла xstddef MSVS.
C++ Суммирование рядов. Оценка машинной точности Помогите составить программы на C, а то уже третий день маюсь и безрезультатно. Задание 1. Вычислите оценки пределов последовательностей {an}, {bn}, если они существуют, с точностью e =10*masheps и соответствующие порядковые номера N(e ). Изобразите графически характер поведения этих последовательностей. Найдите аналитическим путем истинное значение предела. Задание 2. Выберите любую из... http://www.cyberforum.ru/cpp-beginners/thread194308.html
Упорядочить массив натуральных чисел по неубыванию следующим способом C++
Здравствуйте, помогите с заданием (написать программу) в Microsoft Visual C++ 6.0: Упорядочить массив натуральных чисел по неубыванию следующим способом: 1. сначала числа сортируются по последней цифре 2. затем числа сортируются по предпоследней цифре 3. и т.д. Подсчитать количество умножений, делений, и перестановок элементов массива.
C++ Организация Меню в С++
Привет!!!!!!!!!! Народ подскажите как создать меню в С++ в консольном приложении???
C++ Как получить координаты курсора при нажатии любой кнопки мыши? http://www.cyberforum.ru/cpp-beginners/thread194290.html
Неужели не кто не знает?
C++ массив Помогите исправить код // #include <iostream> #include <stdlib.h> #include <time.h> #include <C:\text.h> using namespace std; подробнее

Показать сообщение отдельно
skilluser
Сообщений: n/a
20.11.2010, 16:37     проход по дереву на c++
Добрый день всем. мне нужно сделать программу, которая выдает список всех вышестоящих узлов в дереве)))) вообще без понятия как ее делать, так что прошу помощи... знаю только, что надо рекурсией проходить по дереву и все...
для наглядности:
вот пример моего кода, который линеаризирует дерево и выводит u-a-l-b-c-e-g-f-h
(во вложение наглядно нарисовано дерево)


Код
#include <iostream>
#include <string>
using namespace std;
struct elem;
struct elem{
  string value;
  elem* left;
  elem* right;
};
void search(elem *root){
  if (root->left == 0 || root->right ==0){
    cout << root->value <<endl;
  }
  else{
    elem* root1=root->left;
    elem* root2=root->right;
    search(root1);
    cout << root->value<<endl;
    search(root2);
  }
}
int main(int argc, char* argv[]){
  elem* root = new elem;
  root->value = "E";
  root->left = new elem;
  root->right = new elem;
  root->left->value = "B";
  root->right->value = "G";
  root->right->left =new elem;
  root->right->right =new elem;
  root->left->left =new elem;
  root->left->right =new elem;
  root->left->left->left =new elem;
  root->left->left->right =new elem;
  root->right->left->value ="F";
  root->right->right->value ="H";
  root->left->left->value ="A";
  root->left->left->left->value ="U";
  root->left->left->right->value ="L";
  root->left->right->value ="C";
  search(root);
  return 0;
}
а мне надо, чтобы программа, тоже в рекурсии, проходила по дереву и выдавала
a-b-e
a-b-e
b-e
g-e
g-e
то есть, для листа "u" список вышестоящих узлов - а-b-e, для листа L - такой же (a-b-e), для листа "с" - b-e, для листа "F" - g-e, для листа h -такой же (g-e).
Миниатюры
проход по дереву на c++  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru