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

Поменять местами значения вершин у дерева, которые находятся на одном уровне - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Указатели. Вычислить количество гласных букв в строке http://www.cyberforum.ru/cpp-beginners/thread1159045.html
В программе условие ввода строки:пока первый символ не пробел Условие обработки строки:1.Вычислить кол-во гласных букв в строке 2.Если длина строки больше заданного пользователем числа, то отбросить первые символы, если меньше длина строки меньше этого числа, то в ее начало добавить символы точка. Я все это реализовал но проблема в том что при выводе обработанной строки мне выводит лишние...
C++ Error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" Вот ошибка 1>------ Построение начато: проект: ыпошряоям, Конфигурация: Debug Win32 ------ 1> файл.cpp 1>c:\users\hp\desktop\уроки с++\ыпошряоям\ыпошряоям\файл.cpp(12): error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует) 1> c:\program files (x86)\microsoft visual studio... http://www.cyberforum.ru/cpp-beginners/thread1159020.html
Описать рекурсивную функцию C++
Описать рекурсивную функцию function nmemb(r: link; b:integer):integer; подсчитывающую количество вхождений элемента с информационным полем b в список r. Никак не могу понять, как это сделать. :cry: int nmemb (link r, int b)
C++ Работа с командной строкой
Здравствуйте . Пытаюсь минимизировать программу, уменьшить её размер . Нужно , использовав командную строку, задать опции компилятора и компоновщика . Не получается это сделать . проект находится на раб. столе . нужно написать что-то типа: Опции компоновщика: /OUT : "Release/calc_2.exe" /INCREMENTAL:NO /NOLOGO/DEBUG /PDB:"Release/calc_2.pdb" /SUBSYSTEM:CONSOLE и т.д.
C++ Сформировать файл, содержащий информацию о результатах сдачи сессии http://www.cyberforum.ru/cpp-beginners/thread1159011.html
Сформировать файл, содержащий информацию о результатах сдачи сессии (3 экзамена) группой студентов. Для каждого студента имеется информация: номер по списку, фамилия, имя, оценки. Используя сфор- мированный файл, вывести фамилии и имена студентов, сдавших сес- сию без троек.
C++ Подсчитать количество точек, которые находятся в кругу радиусом R с центром в начале координат Подсчитать количество точек, которые находятся в кругу радиусом R с центром в начале координат. Координаты точек заданы массивами X (100), Y (100). Расстояние точки от начала координат вычислять в функции. подробнее

Показать сообщение отдельно
каддафи
3 / 3 / 1
Регистрация: 02.10.2012
Сообщений: 112

Поменять местами значения вершин у дерева, которые находятся на одном уровне - C++

27.04.2014, 14:16. Просмотров 151. Ответов 0
Метки (Все метки)

Кто ни будь может подсказать или направить как это вообще можно реализовать. В голове нет никаких правильных идей. Может пример кода на любом языке, чтобы увидеть как это выглядит.

Добавлено через 8 минут
я пробовал вот так сделать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Tree::PrintDoch(TreeNode *t, int level) ///level=0
{
    if (t!=NULL)
    {
        PrintDoch(t->right, level+1);
         if (t->data==3)  // К примеру нам надо заменить в дереве значение 3 на 23
               
        t->data=23; 
        
        PrintDoch(t->left, level+1);
        
    }
}
После этого вывожу дерево, и все как бы заменено.
Но потом у меня есть функция по поиску второго максимального числа в дереве (15,16). Второе максимальное получается 15. Даже после того как я заменил 3 на 23. Поиск второго максимального все равно выводит 15.

Вот поиск вторго максимального как у меня реализован

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Tree::SecondMax(TreeNode *t)
{
    if (t!=NULL)
    {
        SecondMax(t->right);
       
                if (t->data>max1)
                max1=t->data;
                if (t->data!=max1)
                {
                if (t->data>max2)
                max2=t->data;
                }
                
                
        cout << max2 << endl;
        
        SecondMax(t->left);
        
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru