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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
#1

Зачем нужно u--? - C++

09.12.2013, 02:58. Просмотров 236. Ответов 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
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
struct tree
{
    int data;
    tree* left, *right;
} *root;
 
 void pushs(int data, tree** root)
   {
       if(!(*root))
       {
          *root = new tree;
          (**root).data= data;
          (**root).left=(**root).right=NULL;
          return;
       }
       else
           if (data < (*root)->data)
               pushs( data, &(*root)->left); 
           else
               pushs( data, &(*root)->right);
   }
C++
1
2
3
4
5
6
7
8
9
10
11
12
void show (tree *root,int u) 
{
    if (root==NULL) return;
    else 
    {
    show(root->left,++u);
    for (int i=0;i<u;++i) cout<<"|";
    cout<<root->data<<endl; 
    u--;
    }
    show(root->right,++u);
}



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
int NodeCount(tree *root)
{
    if (root->left == NULL && root->right == NULL)
        return 1;
    int left, right;
    if (root->left != NULL)
        left = NodeCount(root->left);
    else
        left = 0;
    if (root->right != NULL)
        right = NodeCount(root->right); 
    else 
        right = 0;
 
    return left+right+1;
}
 
void delete_tree(tree* root)
{
  if (root != NULL) 
  {
    delete_tree(root->left);
    delete_tree(root->right);
    delete root;
  }
}
 
  void main ()
{   
    tree * root=NULL;
    int n; 
    int s; 
    cout<<"vvedite kolvo elementov:  ";
    cin>>n; 
    for (int i=0;i<n;++i)
    {
    cout<<"vvedite chislo:";
    cin>>s; 
    pushs(s,&root); 
    }
    cout<<"vashe derevo\n";
    show(root,0);
    cout<<NodeCount(&*root);
    delete_tree(&*root);
    _getch();       
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2013, 02:58     Зачем нужно u--?
Посмотрите здесь:

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? - C++
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

Зачем нужно закрывать файл? - C++
Зачем надо в конце выполнения программы использовать такую команду? stream.close();

зачем нужно Временное значение? - C++
void swapper(int &amp;x,int &amp;y) //Функция перемены мест. Если параметры будут без ссылок, то эффекта не будет { int temp; ...

Наследование , зачем оно нужно ? - C++
Добрый день , который день бьюс с темой Добавлено через 3 минуты Понимаю что можно создавать классы окон в Windows от родительского...

Зачем нужно бинарное дерево? - C++
Какие задачи можно решать с помощью бинарного дерева?

Зачем нужно компилировать библиотеку C++ Box2d? - C++
Мне интересна причина того, почему разработчики некоторых C++ библиотек (в моей ситуации Box2d) не дают dll или lib библиотеки, а дают...

Конструкторы - что это и зачем нужно? - C++
Объясните, пожалуйста, для чего нужны конструкторы и деструкторы? Что это вообще?

Сортировка пузырьком. Зачем нужно 2 цикла? - C++
for(int j=1;j&lt;=k;j++) for(int i=1;i&lt;=k;i++) if(A&lt;A) { max=A; A=A; A=max; ...

Зачем нужно private наследование в классах? - C++
Если можно, то покажите небольшой пример

Зачем нужно опережающее объявление класса в заголовке? - C++
Часто натыкаюсь на такой код: class NewType; class Class1 { public: Class1(); private: NewType *field; };


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
09.12.2013, 03:19     Зачем нужно u--? #2
конкретно в данном случае это не обязательно.
просто автор поленился писать u+1 (дважды)
Виkтория
1 / 1 / 0
Регистрация: 04.06.2013
Сообщений: 63
09.12.2013, 03:27  [ТС]     Зачем нужно u--? #3
а как сделать без него ?? или обьяснить это? помогите ?
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
09.12.2013, 03:29     Зачем нужно u--? #4
C++
1
2
3
show(root->left,u+1);
for (int i=0;i<u+1;++i) cout<<"|";
cout<<root->data<<endl;
Yandex
Объявления
09.12.2013, 03:29     Зачем нужно u--?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru