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

Дерево. Готовая программа на 95% - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Могли бы ответить на данный тест и пояснить ответ ? http://www.cyberforum.ru/cpp-beginners/thread1009177.html
Могли бы ответить на тест
C++ Деректива assert Как правильно? #include <iostream> #include <assert.h> #define NDEBUG assert(n == 0); int main() { int n=0; NDEBUG http://www.cyberforum.ru/cpp-beginners/thread1009176.html
C++ Ложная тревога Касперского
Пишу прогу. Добавляю такой код: char c; bool stop=0; ifstream iFile; while(!stop){ cout<<"Выберите действие. 1 - кодирование, 2 - декодирование, ESC - выход.\n"; c=_getch(); switch(c){ case '1': cout<<"Введите имя файла для кодирования. 1 - default\nФайл: ";
C++ Структуры и указатели на структуры
Так ли я сделал? #include <iostream> struct S { int i; }; void f1(S*s1,int k=0){ s1->i=k;};
C++ книга прата с. глава 6 задание 7 http://www.cyberforum.ru/cpp-beginners/thread1009153.html
Напишите программу, котрая читает слова по одному за раз, пока небудет введена отдельная буква q. После этого программа должна сообщить количество слов, начинающихся с гласных, количество слов начинающихся с согласных, а также количество слов не попадающих ни в одну из этих категорий. Одним из возможных подходов может быть применение isalpha() для разлечения слов, начинающихся с букв, и остальных...
C++ Задача. Из листа клетчатой бумаги удалили некоторые клетки Из листа клетчатой бумаги размером M*K клеток удалили некоторые клетки. Подсчитать, на сколько кусков распадется оставшаяся часть листа. Пример: Если из шахматной доски удалить все клетки одного цвета, то оставшаяся часть распадется на 32 куска. подробнее

Показать сообщение отдельно
Peregrin
33 / 33 / 1
Регистрация: 16.11.2012
Сообщений: 59
16.11.2013, 04:58     Дерево. Готовая программа на 95%
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool isLeaf(Node* root) {
 return (root->l == null && root->r == null);
}
 
int countOfNodesWithOneChild(Node* root) {
 if (root != null)
  if ((root->l != null && root->r == null && isLeaf(root->l)           //если справа нет потомков, а слева потомок-лист
     || (root->r != null && root->l == null && isLeaf(root->r))       //или слева нет потомков, а справа потомок-лист
   return 1;
  else
   return countOfNodesWithOneChild(root->l) + countOfNodesWithOneChild(root->r);
 else
  return 0;
}
 
Текущее время: 09:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru