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

Количество узлов на каждом уровне - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с изображениями http://www.cyberforum.ru/cpp-beginners/thread123348.html
Посоветуйте где можно почитать как работать с изображениями? Какую литературу почитать? И если можно простейший пример кода, который например меняет белый цвет в картинке на черный
C++ Ученики школы С++ Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы. а) Выяснить, имеются ли в школе однофамильцы. б) Выяснить, имеются ли однофамильцы в каких-либо параллельных классах. в) Выяснить, имеются ли однофамильцы в каком-нибудь классе. г) Ответить на вопросы а)-в), но в отношении... http://www.cyberforum.ru/cpp-beginners/thread123347.html
C++ Преобразовать последовательность S1,....Sn удалив из нее все запятые
1) Даны натур. числа n,символы S1,....Sn среди которых есть хотя бы одна точка. Преобразовать последовательность S1,....Sn удалив из нее все запятые, предшествующие первой точке, и заменив знаком + все цифры 3, встречающиеся после первой точки. 2)Дана действ. матрица размера 6х9. Найти среднее арифм. наибольшего и наименьшего значений ее элементов. 3)Даны натурал. число n, действительные числа...
C++ найти количество слов в которых две или больше буквы "с"
И так задача в том что бы найти количество слов в которых две или больше буквы "с".
C++ GUI C++ http://www.cyberforum.ru/cpp-beginners/thread123283.html
Создать класс ModelWindow для работы с моделями экранных окон. В качестве полей задаются: заголовок окна, координаты левого верхнего угла, размер по горизонтали, размер по вертикали, цвет окна, состояние «видимое/невидимое», состояние «с рамкой/без рамки». Координаты и размеры указываются в целых числах. Реализовать операции: передвижение окна по горизонтали, по вертикали; изменение высоты и/или...
C++ Побитовые операции - нужна литература подкинте пожалуйста статеек или литературы о использовании побитовых операций на си, вчастнастности мне нужны операции над шестнадцатеричным представлением числа подробнее

Показать сообщение отдельно
inferno mf
1 / 1 / 0
Регистрация: 13.09.2009
Сообщений: 96
29.04.2010, 20:40  [ТС]     Количество узлов на каждом уровне
Цитата Сообщение от uggway Посмотреть сообщение
Ну блин... не знаю как еще написать...
НЕ ИСПРАВЛЯЙ ЭТУ СТРОЧКУ!
C
1
int get(Item * node,int n,int c=0)
......
Хотя если ты боишься такой записи, то исправь лучше
C
1
while((l = get(root, t++, 0)) != 0){
а в других местах не надо ничего менять
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
#include <stdio.h>
#include <stdlib.h>
typedef struct item {
  int data;
  struct item *left;
  struct item *right;
} Item;
 
void AddNode(int data, Item **node);
int get(Item * node,int n,int c);
void lvl(Item * root);
 
 
 
int main(void)
{
  char buffer[512];
  int i;
  Item *root = NULL; 
  FILE *fp = fopen("ex52.txt", "r"); 
 
  if (!fp) exit(1); 
  
  while (fgets(buffer, 512, fp) != NULL)
    AddNode(atoi(buffer), &root); 
  lvl(root);
  fclose(fp);
  /*lvl(root);*/
  system("PAUSE");      
  return 0;
}
 
void AddNode(int data, Item **node)
{
  if (*node == NULL) {
    *node = (Item *)calloc(1, sizeof(Item));
    (*node)->data = data;
    (*node)->left = (*node)->right = NULL;
  } else {
    if (data < (*node)->data)
      AddNode(data, &(*node)->left);
    else if (data > (*node)->data)
      AddNode(data, &(*node)->right);
    else
      puts("There is such element in the tree");
  }
}
int get(Item * node,int n,int c)
{
       c=0;
       if(n == c)  return 1;
        return ((node->left)?get(node->left,n,c+1):0) + ((node->right)?get(node->right,n,c+1):0);
}
 
void lvl(Item * root){
  int t = 0, l = 0;
    while((l = get(root, t++, 0)) != 0){
          printf("lvl(%d) = %d\n", t, l);
  }
}
Ее в любом случае придется изменить, т.к. компилятор ругается на занк равенства в скобках...

При таком коде, выдает всегда lvl 1 =1... В файле чисел около десятка.
 
Текущее время: 04:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru