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

объяснить работу кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано 2 массива.Перемножить их элементы и проверить на четность http://www.cyberforum.ru/cpp-beginners/thread596478.html
Дано 2 массива.Перемножить их элементы и проверить на четность.Если четн.-вывод yes,если не четн вывод -NO.
C++ Неплохие задачки по C++ 1. Дан файл , компоненты которого являются действительными числами. Найти: а) сумму компонент файла ; б) произведение компонент файла ; в) сумму квадратов компонент файла ; г) модуль суммы и... http://www.cyberforum.ru/cpp-beginners/thread596475.html
Перегрузка операторов. Исключения C++
Написать программу, в которой описана иерархия классов: геометрические фигуры (куб, конус, тетраэдр). Описать класс для хранения коллекции фигур (массива указателей на базовый класс), в котором...
Рассчет - недорасход/перерасход энергии по предприятию C++
Нужно написать программу по следующему заданию: Имеется ведомость расхода электроэнергии : номер предприятия, месяц, расход по плану (в квтч.), расход фактический (в квтч.). Имеется справочник...
C++ Большая куча задач: (Треугольник и точка, Король и ферзи... и т.д) http://www.cyberforum.ru/cpp-beginners/thread596449.html
помогите пожалуйста решить задачи в С++ 1)Треугольник и точка. Лежит ли точка M(Xm,Ym) внутри треугольника, заданного координатами своих вершин A(Xa,Ya), B(Xb,Yb), C(Xc,Yc) на плоскости? ...
C++ Составить программу вычисления и печати таблицы значений функции, которая является суммой бесконечного ряда Задание в прикрепленном файле. Благодарен за содействие. подробнее

Показать сообщение отдельно
ajed
Сообщений: n/a

объяснить работу кода - C++

04.06.2012, 22:35. Просмотров 291. Ответов 0
Метки (Все метки)

Нужно объяснить работу кода, помогите пожалуйста. Дан код вертикального вывода бинарного дерева...


C++
1
2
3
4
5
6
7
8
9
10
11
// вертикальный вывод
void PrintTreeVert(TreeNode *t, int level, int y, int width)
{
  if (t == NULL) return;
  AnsiString SubLine = IntToStr(t->data);       //готовим данные для вывода в строку
  Form1->Memo1->Lines->Strings[level] = Form1->Memo1->Lines->Strings[level].Delete(y, SubLine.Length());        //вырезаем в строке место для данных
  Form1->Memo1->Lines->Strings[level] = Form1->Memo1->Lines->Strings[level].Insert(SubLine, y);                 //вписываем данные в строку
  int w = width / 2 ? width / 2 : 3;    //рассчитываем отступ для уровня ниже. Следим, чтобы был не меньше 3 (у нас могут быть двузначные отрицательные числа)
  PrintTreeVert(t->Left(), level + 1, y - w, w);        //Обход левой ветви дерева
  PrintTreeVert(t->Right(), level + 1, y + w, w);       //Обход правой ветви дерева
}
очень так же интересует что делает знак вопроса в этой строчке
C++
1
int w = width / 2 ? width / 2 : 3;
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru