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

рекурсия - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Урок \n http://www.cyberforum.ru/cpp-beginners/thread331887.html
Помогите что, не так с кодом вот (описание ошибки снизу)... // Эта программа демонстрирует \n последовательность.cpp: главный файл проекта. // которая обеспечивает переход на новую строку. #include "stdafx.h" #include <iostream> setlocale(LC_CTYPE, "Russian"); using namespace std;
C++ поиск разрядов в двухбайтовых словах Дан файл состоящий из двубайтовых слов,количество слов=4096(или он равен 8192 байта) C начало(начиная с первого слова) надо искать в 14 разряде еденицу(перебирая слова по очереди)как только еденица-стоп, затем с этого слова ищем 1-цу в 16 разряде также перебирая слова и ведём подсчёт этих слов одновременно, как только 1-ца в 16 разряде-стоп. Заранее благадарю Дублирование тем запрещено... http://www.cyberforum.ru/cpp-beginners/thread331880.html
C++ Найти количество содержащихся в массиве серий
Помогите реше-ить задачу. Очень срочно надо. Буду благодарен. Задача: Дан файл целых чисел. Найти количество содержащихся в нем серий (то есть наборов последовательно расположенных одинаковых элементов). Например, для файла с элементами 1, 5, 5, 5, 4, 4, 5 результат равен 4.
Программа по нахождению площади квадрата C++
Я только начал изучать этот язык вот так накидал простенькую программу но не работает подчеркивает слово stream, можите подправить чтоб работала #include<stream.h> main(); { float a,b,c; cout << "vvedite hirinu i dlinu \n"; cin>> a,b; c=a*b; cout <<"plohad ravna ",<< c;}
C++ Дана квадратная матрица N,если на главной диагонали в строке элемент равен 0... http://www.cyberforum.ru/cpp-beginners/thread331850.html
Дана квадратная матрица N,если на главной диагонали в строке элемент равен 0, посчитать сумму элементов всей строки. Записать значение элементов вектора В порядка N (B). Помогите написать программу на языке С
C++ Програма неадекватно себя ведет Доброго время суток , помогите пожалуйста с кодом... Тут такое дело - програма запрашивает длинну и высоту стены( ширина 2 едигицы ) Выводи на екран "полотно" + стили оформления (собственно вариации укладки кирпича) Выбираем стиль и дальше начинаються вещи порой неподдающиеся обьяснению ( почему и пишу меседж ) Вот сам код: #include <iostream> #include <cstdlib> подробнее

Показать сообщение отдельно
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
12.07.2011, 02:48     рекурсия
набросал простенький пример. дерево, хранящее целые числа. может что не очень удачно сделано, но уж как смог в 2 часа ночи)

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
using namespace  std;
 
class node;
typedef node* p_node;
 
struct record;
typedef record* p_rec;
 
class list;
typedef list* p_list;
 
struct record {
    p_node child_node;
    p_rec next;
};
 
class list {
    private:
        p_rec first;
        p_rec last;
        int num_of_recs;
    public:
        list() {
            first=0;
            last=0;
            num_of_recs=0;
        }
        
        p_rec add_rec() {
            if (!first) {
                first=new record;
                first->child_node=0;
                first->next=0;
                last=first;
                num_of_recs++;
            }
            else {
                p_rec temp;
                temp=new record;
                last->next=temp;
                last=temp;
                last->child_node=0;
                last->next=0;
                num_of_recs++;
            }
            return last;                
        }
        
        p_rec get_rec(int n) {
            p_rec temp=first;
            for (int i=0;i<n;i++) {
                temp=temp->next;
                if (!temp) return 0;
            }
            return temp;
        }
        
        int count() {return num_of_recs;}
};
 
class node {
    private:
        int value;
        p_list childs;
    public: 
        node(int v) {
            value=v;
            childs=0;
        }
        
        p_node add_child(int v) {
            if (!childs) childs= new list;
            p_node temp = new node(v);
            childs->add_rec()->child_node=temp;
            return temp;
        }
        
        p_node get_child(int n) {
            if (!childs) return 0; 
            p_node temp=this->childs->get_rec(0)->child_node;
            p_rec temp2;
            for (int i=1;i<n+1;i++) {
                temp2=this->childs->get_rec(i);
                if (!temp2) return 0;
                temp=temp2->child_node;
            }
            return temp;
        }    
        
        int get_value() {
            return value;
        }
};
 
void print_node (p_node n) {
    int k=n->get_value();
    cout<<"NODE with adr: "<<n<<" and VALUE: "<<k<<endl;
}
 
int main()
{
    p_node root, c1,c2,c3,c4,cc1,cc2,cc3,cc4;
    root=new node(123);
    print_node(root);
    
    cout<<"ADD CHILDS to NODE with adr: "<<root<<endl;
    
    c1=root->add_child(1234);
    c2=root->add_child(4321);
    c3=root->add_child(2341);
    c4=root->add_child(3412);
    print_node(c1);
    print_node(c2);
    print_node(c3);
    print_node(c4);
    
    cout<<"ADD CHILDS to NODE with adr: "<<c2<<endl;
    cc1=c2->add_child(777);
    cc2=c2->add_child(888);
    cc3=c2->add_child(999);
    print_node(cc1);
    print_node(cc2);
    print_node(cc3);
        
    system("pause");
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru