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

Вставка элемента в дерево - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в правильности команды... http://www.cyberforum.ru/cpp-beginners/thread203600.html
В понедельник нужно будет показать правильность работы проги... Ошибку пишет тут (декларатион синтаксис еррор ) " bool smezh(edge q1,edge q2){ // 1 - если q1 и q2 смежны, иначе -0 " #include <iostream.h> #include <stdio.h> #include <conio.h> FILE* fi = fopen("m_graph.txt","r");
C++ Как сделать, чтобы не зацикливалось? Добрый вечер. Даны две функции у1 и у2. распечатывать значения функции, пока не будет достигнуто пересечение графиков #include <iostream> #include <cmath> using namespace std; int main(){ double const h=0.01; double x,y1,y2; x=2.0; http://www.cyberforum.ru/cpp-beginners/thread203598.html
Почему зацикливается??? C++
Доброе время суток. Прошу объяснить или дать ссылку где такое описывается. #include <iostream> using namespace std; int main(){ double const h=0.01; double x; x=2.0; do{ cout<<x<<"\n";
C++ Подсчитать сумму кодов символов каждого слова
Срочно нужно решить задачу! Пожалуйста, помогите, кто как может! Задачу нужно писать на C и, желательно, как можно проще для понимания). Ввести матрицу. Элементы матрицы - строки. Подсчитать сумму кодов символов каждого слова и, если сумма оказалась чётной, развернуть зеркально это слово в строке. Полученные матрицы вывести на экран. Стандартных функций при работе со строками не использовать.
C++ библиографический поиск http://www.cyberforum.ru/cpp-beginners/thread203581.html
есть файл со списком назвваний книг и статей. прогамма должна читать ключевые слова и определят, находятся ли соответствующие им названия книг и статей в списке. названия, содержащие ключевые слова, печатаются.
C++ вставка элемента необходимо вставить после элементов массива являющихся полными квадратами их корни. У меня если элемент массива равен 1, его не определяет как полный квадрат. #define N 100 using namespace std; int koren(int a,int i) {int j=0,flag=0,b=0,k=0; for(j=1;j<a;j++) {if(j*j==a) {k=j; flag=1; подробнее

Показать сообщение отдельно
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
05.12.2010, 06:57     Вставка элемента в дерево
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
50
51
52
53
struct node {
    std::string str;
    std::list<node*> children;
    node(const std::string& s):str(s),cildren() {}
};
bool push(node *&t, const std::string& key, const std::string& newvalue)
{
    if (t!=NULL) {
        if (key == t->str) {
            t->children.push_back(new node(newvalue));
            return true;
        } else {  // key != t->str
            if (not t->children().empty()) {
                 for (std::list<node*>::iterator i=t->children.begin(); t != t->children.end(); ++i) {
                      if (push(*i, key, newvalue)) braek;
                 }
                 return true;
            } else {  // t->children().empty() == true
                 return false;
            }
        }
    } else { // t == NULL
         t = new node(newvalue);
         return true;
    }
}
void print(tree *t, int n)
{
     if (t!=NULL) {
          std::cout << t->str;
          if (not t->children.empty()) {
                std::cout << ":\n";
                for (std::list<node*>::iterator i=t->children.begin(); t != t->children.end(); ++i) {
                      for (int k=0; k!=n;++k) std::cout << "  ";
                      print(*i, n + 1);
                }
          } else {
                std::cout << ".\n";
          }
     }
}
int main() {
   node *tree = NULL;
   push(tree,"","first");
   push(tree,"first","second");
   push(tree,"first","third");
   push(tree,"first","forth");
   push(tree,"third","fifth");
   push(tree,"second","sixth");
   push(tree,"second","seventh");
   print(tree, 0);
   return 0;
}
чета типа того, я не компилировал. Еще бы дописать функцию для удаления всего этого...
Насчет удаления тех, что заканчиваются на согласную:
для каждого потомка - сморим на последнюю букву поля str,
если на согласная - всех детей этого потомка добавляем к детям его предка,
а его самого из списка детей предка удаляем.
лень писать, сам сделаешь правда?
И болранд си++ это ересь , лучше другой возьми, например среда code::blocks замечательная.

P. S. push - это как бы добавление по ключу, добавляет узлу со указанной строкой потомка с указанной строкой.
 
Текущее время: 01:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru