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

Помогите с обходом дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск простых чисел и формирование из них массива http://www.cyberforum.ru/cpp-beginners/thread537391.html
Пишу в Microsoft Visual Studio ->Win32 Console application ->C++. Помогите пожалуйста "написать": Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. Первая функция ищет простые числа и заносит их в новый массив, вторая – все числа кратные трем, третья – все четные числа. В программе создайте массив из 3-х...
C++ Шифрование любого типа данных Всем привет у меня вопрос по теории. Написал консольное приложение которое изначально как я предполагал будет способно зашифровать текст в *.txt формате. В программе я использовал методы простой перестановки и виженера. Все написал, программа вызывается через консоль и принимает два аргумента : полный путь к файлу и ключевое слово.В программе я открываю файл вот так: char* chaddress;//адрес... http://www.cyberforum.ru/cpp-beginners/thread537390.html
метод дихотомии C++
Найти все корни функции f(x) на интервале методом дихотомии с погрешностью 10^-4. f(x)=cos^2(x)-sin^2(x)/ помогите плиз написать))
Вывести строку, содержащую символы стро-ки S, между которыми вставлено по одному пробелу. C++
String11. Дана непустая строка S. Вывести строку, содержащую символы стро-ки S, между которыми вставлено по одному пробелу.Помогите решить,кто знает!
C++ Структура - прибыль торговых центров http://www.cyberforum.ru/cpp-beginners/thread537339.html
ЗАДАЧА Сверхприбыль торговых центров: *название товара *название магазина, в котором продается товар *цена товара в магазине (грн.) *средняя оптовая цена товара (грн.) *функция, возвращающая значения "накрутка" магазина (в процентах). Создание динамического массива объектов Price, размерность которого равняется количеству строк в файле. считывание с файла in.txt данных в массив объектов...
C++ Программная реализация алгоритма бинарного поиска Всем привет! Помогите составить программу Задача: Выполнить программную реализацию алгоритма бинарного поиска. Код я нашел, но при компиляции появляется ошибка на отсутствие фала bios.h, и на fstream.h ругается. Может есть библиотеки которые могут заметить. Помогите, исправить. //Бинарный поиск #include <bios.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> #include... подробнее

Показать сообщение отдельно
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
03.04.2012, 13:18     Помогите с обходом дерева
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
 
typedef struct tr {
    int data;
    struct tr *l;
    struct tr *r;}tree;
   
tree *beg=NULL, *p, *t;
int a[13]={5, 1, 91, 4, 7, 51, 40, 61, 57, 71, 9, 8, 3};
int i=0, k=0, sortm[13];
 
void dob(int i, tree *t) {
     if (p->data >= t->data) {
             if (t->r==NULL) t->r=p; 
             else {t=t->r; dob(i,t); }}
     else {
             if (t->l==NULL) t->l=p; 
             else {t=t->l; dob(i,t); }}
     t=beg;               }
 
void sozd(void){
     system("cls");
     p=(tree *) malloc(sizeof(tree));    //sozdanie kornya
     p–>data=a[0]; printf("%d ",p–>data);
     beg=p;
     p–>r=p->l=NULL;
     t=p;
     for (i=1; i<13; i++) {
             p=(tree *) malloc(sizeof(tree));
             p–>data=a[i]; printf("%d ",p–>data);
             p->l=p->r=NULL;
             dob(i,t);      }
     printf("\nDerevo postroeno\n");
     printf("\n\n");
     system("pause");               }
 
int obhs(tree *t) {                //simmetrich. obhod
     if (t->l!=NULL) obhs(t->l);
     sortm[k]=t->data; k++;
     printf("%d ",t->data);
     if (t->r!=NULL) obhs(t->r);   }
     
int obhl(tree *t) {                //obhod sleva
     printf("%d ",t->data);
     if (t->l!=NULL) obhl(t->l);
     if (t->r!=NULL) obhl(t->r);      }
     
int obhr(tree *t) {                //obhod sprava
     printf("%d ",t->data);
     if (t->r!=NULL) obhr(t->r);
     if (t->l!=NULL) obhr(t->l);
       }
 
int nachaloObh(int a, tree *t) {
    if (a==2) obhs(t);
    if (a==3) obhl(t);
    if (a==4) obhr(t);
    t=beg;
    printf("\n\n");
    system("pause");}
 
int main() {
  int a;
  do    {
        system("cls");
        printf("\nVVEDITE: \n");
        printf("1 i Enter - sozdanie\n");
        printf("2 i Enter - simmetricheskiy obhod\n");
        printf("3 i Enter - obhod sleva\n");
        printf("4 i Enter - obhod sprava\n");
        printf("0 i Enter - EXIT\n\n");
        scanf("%d",&a);
        switch(a) {
            case 1: sozd(); break;
            case 2: nachaloObh(a,t); break;
            case 3: nachaloObh(a,t); break;
            case 4: nachaloObh(a,t); break;
                    }
                    } while (a!=0);
    return 0;
}
 
Текущее время: 22:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru