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

Объяснение части кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Метод защиты от дурака http://www.cyberforum.ru/cpp-beginners/thread1138599.html
Всем привет, у меня есть код ну нет защиты от ввода букв с клавы((, помогите пожалуйста сделать эту защиту. Вот код: #include "stdafx.h" #include <iostream> #include <stdio.h> const int d=100; const int t=50; //константный размер матрицы
C++ Организовать поиск в структуре Задача на тему : Структуры. Список сведений о животных в зоопарке. Каждая строка списка содержит наименование вида , пол, дату ,необходимую калорийность ежедневного рациона , логический признак - требуется ли содержание в теплом помещении в зимнее время года . Обеспечить поиск а) самого молодого животного по заданной подстроке наименования вида; б) трех животных заданного пола с наименьшей... http://www.cyberforum.ru/cpp-beginners/thread1138597.html
C++ Найти зарплату на основе данных двумерного массива
в двумерном массиве храниться информация о зарплате 20 человек за каждый месяц года (Первого человека в 1 строке Второго человека во второй строке и т.д.) Составить программу для расчета общей зарплаты полученой за год одним любым человеком Информация о зарплате которого представлена в массиве
Вывести все элементы массива кратные 3 и удовлетворяющие условию -10<=p[i]<=15 C++
Помогите решить C++ Дан массив p, заполненный с клавиатуры Вывести все элементы кратные 3 и удовлетворяющие условию -10<=p<=15
C++ Нужно чтобы введённый студент в методе in вывелся на экран как в методе out http://www.cyberforum.ru/cpp-beginners/thread1138569.html
#include<conio.h> #include<stdio.h> #include<iostream.h> #include<windows.h> #include<cstring.h> // это просто для русских инициалов // char buff; char *ToAcii(char *s)
C++ Решение СЛАУ методом Гаусса и return value 3221225477 #include<iostream> #include <math.h> #include <stdlib.h> using namespace std; void Matrix_metod() { int i, j, n, m,nev,sum=0; //ñîçäàåì ìàññèâ cout << "ââåäèòå ÷èñëî óðàâíåíèé: "; подробнее

Показать сообщение отдельно
Гузель23
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 56

Объяснение части кода - C++

04.04.2014, 07:52. Просмотров 286. Ответов 3
Метки (Все метки)

ребят, помогите пожалуйста)
не могу разобраться в коде
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
typedef struct derevo
{
    int data;
    derevo *left;
    derevo *right;
} node;
node * search (node * tree, int data)   //поиск места для элементов дерева
{
    node *buf;    //я так понимаю, что buf -это временное хранение дерева
 
    if (tree) //если дерево существует
     do
        {
       buf=tree;  //buf хранит указатель на начало дерева
          if (tree->data==data) //берем элемент дерева
                return tree;   
           if (data<tree->data) //если он меньше чем текущий,
                tree=tree->left;//записываем его в левую ветку
            else
                tree=tree->right;//иначе в правую
        }
while (tree);    //пока дерево сущ, все это выполняется
 return buf;
}
int Add (node **tree, int data)//добавление элементов в дерево    (адрес корня может измениться)
{
    node * buf; //служит для заполнения дерева, tree содержит указатели на buf
   if (!  ( buf = (node *) malloc ( sizeof (node) ) )  )       //выделяетя память под buf
    {
 
        return -1;
    }
    buf = new node; //выделяем память под звено дерева
    buf->data=data;//записываем данные в звено
    buf->left=NULL;//подзвенья обнуляем
    buf->right=NULL;
if (!*tree)  //если дер пустое
    {
*tree=buf; //добав в дер нов узел
return 1;
    }
if (search(*tree,data))
    {
if (data<search(*tree,data)->data)  //добавляем к правому и левому поддереву
     search(*tree,data)->left=buf;
        else
     search (*tree,data)->right=buf;
    }
else
  return -1;
 return 0;
}
все ли я правильно поняла? если не сложно можете расписать что такое buf, для чего он служит.
и еще :
C++
1
2
while (tree);    //пока дерево сущ, все это выполняется
 return buf;
что именно возвращает buf ? например есть дерево 7,5,9, к нему добавляется элемент 15, проходит всю функцию, и что в конце возвращает buf?
заранее спасибо)
Изображения
 
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru