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

Распечатка бинарного дерева поиска - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск кратчайших путей из одного источника для неориентированного графа http://www.cyberforum.ru/cpp-beginners/thread270898.html
Дорогие программисты! Прошу вас помочь мне в очень срочном деле! Очень нужен код программы, которая в заголовке на С++. Нашла целую кучу, но в компиляторе выбивает до ста ошибок. Помогите пожалуйста!:wall:
C++ Найти количество факторизаций числа Мучают меня днем ночью задача: Найти количество факторизаций числа. Если кто не знает Факториза́цией натурального числа называется его разложение в произведение на натуральные множителей больше одного. Например: число 30 2*3*5 6*5 10*3 15*2 http://www.cyberforum.ru/cpp-beginners/thread270891.html
C++ Вывод массива в едит
Нужно вывести массив состоящий из 0 и 1 в Edit const n=25;int A, i; for(i=0i<25;i++) { A=random(2); Edit1->Text=IntToStr(A); } Написал такое, но выводит всего 1 цифру)
Найти площадь круга, ограниченного окружностью C++
Помогите плиз!!! Надо зделать массив а я не шарю. Вот задание. Задается длина окружности. Найти площадь круга, ограниченного этой окружностью.
C++ Вложеные цыкли Сумы http://www.cyberforum.ru/cpp-beginners/thread270880.html
<stdafx.h> заранее благодарен!!!
C++ поиск слов, состоящих из прописных букв всем доброго времени суток, собственно сабж, необходимо найти слова, содержащиеся в файле, которые состоят только из прописных букв. проблема в том что необходимо использовать список, линейный не кольцевой, т.е. есть исходный файл с текстом, далее необходимо этот текст скопировать в другой файл, и вывести список слов, которые соответствуют заданию(состоят только из прописных букв) вот кое какой... подробнее

Показать сообщение отдельно
Katenkka
 Аватар для Katenkka
30 / 30 / 6
Регистрация: 04.04.2011
Сообщений: 86
06.04.2011, 00:51     Распечатка бинарного дерева поиска
Ну алгоритм, как по мне, должен быть примерно такой:
1. Заходим в узел. счетчик k = 0
2. Прокручиваем влево/вправо, влево/вправо и т.д. пока не пусто. Каждый раз счётчик увеличиваем.
3. Записываем узел в массив, к примеру, двумерный, в первый индекс - получившееся k, а во второй - элемент дерева, увеличиваем число элементов массива (пусть это будет n)

Считаем кол-во элементов массива
И еще в какой-нибудь kmax записать k корня (оно же наибольшее).

Ну и всё. Потом идём по массиву, как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = kmax; i >= 0; --i)
{
   for (int j = 0; j < n; ++j)
       if (mass[j] == i) 
       {
           for (int l = 0; l < i + 1; ++l)
              printf(" ");
           printf("%d", mass[j]["elem"]);
       }
   printf("\n");
}
 
Текущее время: 21:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru