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

Шаблон дерева. Найти элементы на заданной глубине - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Записать этот массив в бинарный файл одной записью (не в цикле) http://www.cyberforum.ru/cpp-beginners/thread595552.html
Создать файл в блокноте с числами, например: 1.4 1.234 2.104 и т.д. Считывать этот файл в массив, который надо динамически расширять под каждое считанное число, пока файл не будет прочитан...
C++ Дано натуральное число n. Найти A1B1+A2B2+... Дано натуральное число n. Найти A1B1+A2B2+...AnBn,где A1=B1=1;Ak=1/2*(sqrt(B(k-1))+1/2*A(k-1));Bk=2*(A(k-1))^2;k=1,2...n. http://www.cyberforum.ru/cpp-beginners/thread595536.html
Вычислить выражение C++
Вычислить sh(x)=x+((x^3)/3!)+((x^5)/5!)+((x^7)/7!)... Есть ли какие-нибудь элементарные функции для степени и факториала? Чтобы просто в одно обозначение типа x^2(икс в квадрате) и fact(n).
Метод пузырька C++
реализовать на языке С++ сортировку одномерного массива методом «пузырька», методом вставки, методом выбора.
C++ Ошибка при работе с массивами char http://www.cyberforum.ru/cpp-beginners/thread595520.html
Задание: написать функцию для сложения целых двоичных чисел. Слагаемые должны иметь тип unsigned char. Вот что получилось, но после ввода чисел - программа вылетает, где ошибка? #include...
C++ Чем опасны программы написанные на C++ чем опасны программы написанные на C++? Если можно, то с комментарием подробнее

Показать сообщение отдельно
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
04.06.2012, 01:21
если вы хотите, чтобы функция изменяла агрументы, которые вы ей передаете, то эти аргументы в функцию нужно передавать по ссылке или указателю. если тут выходной параметр kol, то его нужно по ссылке в функцию отдать:
C++
1
2
3
4
5
6
template <typename T>
void BTree<T>::dn(Node *root1, int N, int i, int& kol) // kol сюда передали по ссылке
{
  ...
  kol++
}
Далее, переменные желательно объявлять рядом с местом их первого использования и всегда инициализировать чем нибудь (0 для интов - самое оно), даже если следующей строкой запрашивается ввод этой переменной:

C++
1
2
3
4
5
6
7
8
9
// код  со строки 143:
// вместо этого:
T->dn(T->Get_F(), N, 0,0);
cout<<"kol= "<<kol;
 
// нужно:
int kol = 0;
T->dn(T->Get_F(), N, 0,kol);
cout<<"kol= "<<kol;

И еще совет: чтобы каждый при тестах и поисках ошибок не тратить время на ввод одних и тех же данных, лучше для этого написать код, который будет эмулировать ввод этих данных.
например:
C++
1
2
3
4
5
6
7
8
9
10
11
12
// вместо:
int n = 0;
std::cout << "Enter n: ";
std::cin >> n;
 
можно написать так и не останавливаться в этом месте для ввода:
int n = 0;
std::cout << "Enter n: ";
//std::cin >> n;
n = 10; //  вроде как пользователь ввел десятку. когда таких вводом нужно сделать много, такой подход несколько увеличивает скорость отладки.
 
// В местах добавления чайлдов в деревья, списки,  и прочее - подобные действия.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru