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

Дерево турнира с выбыванием - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сколько есть способов выплатить сумму http://www.cyberforum.ru/cpp-beginners/thread697600.html
В Эстонии в обращении находятся 1,2,5,10,25,50,100 и 500 - кроновые купюры. Написать программу, которая сможет найти сколько есть различных способов выплатить данную сумму. На единственной строке текстового файла raha.sis.txt дано целое число S(0 < S < 250). На единственной строке текстового файла raha.val.txt вывести количество различных способов выплаты. Пример: Файл raha.sis.txt...
C++ Конструктор копирования в c++ Добрый день, такая задача по с++ Какая ошибка в следующей реализации конструктора копирования по умолчанию и деструктора?? Какой еще оператор необходимо перегрузить для данного класса?? typedef unsigned int dlina; const dlina n=30; class Mouse { dlina rost; protected: http://www.cyberforum.ru/cpp-beginners/thread697586.html
C++ Не работает код
Дан файл zzz.txt В нем подсчитать кол-во букв «а»(латинская) с разбивкой по строчкам. В другом файле (qqq.txt) вывести результаты Всего вхождений: 3 (т.е. общее количествол букв а) Строка 1: 2(т.е. количество букв в этой строке) В данном коде не подсчитывает количество букв "а" как в строке так и в файле #include "stdafx.h" #include <iostream> #include <stdlib.h>
Необходимо перевести из паскаля в с++ C++
Имеется программа на Паскале: uses crt; var a: array of string; i,j,k,l: byte; s,sl: string; begin write('s='); readln(s); s:=s+' '; sl:=''; j:=0; for i:=1 to length(s) do if not (s in )
C++ Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно. http://www.cyberforum.ru/cpp-beginners/thread697559.html
Дана задача. Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно. Я написал нижеследующее, но программа выводит почему то такие числа как 12252240, 24504480 и т.д. Что я тут неправильно написал? /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////...
C++ Массив: Учащиеся участвовали в посадке деревьев. Сколько деревьев было посажено 1)Учащиеся 8-х классов участвовали в посадке деревьев. 8-а посадил 100 деревьев, 8-б —122 дерева, 8-в — 98 деревьев, 8-г — 104 дерева, 8-д — 121 дерево. Определить, сколько посажено деревьев. подробнее

Показать сообщение отдельно
gunslinger17
 Аватар для gunslinger17
0 / 0 / 0
Регистрация: 25.02.2012
Сообщений: 80
18.11.2012, 15:01  [ТС]     Дерево турнира с выбыванием
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Я сам с stl не очень дружу, но тут всё просто:
все узлы кладём в очередь. Очередь в STL это <list>
Список точнее очередь это структура данных, где мы берём с одного конца элементы, а записываем в другой.

достаём первую пару из начала очереди
создаём для них new родителя
родитель->left=первый элемент очереди
родитель->right=второй элемент очереди.
далее удаляем эти два элемента из очереди
а родителя пихаем в конец очереди, чтобы рано или поздно дойти до него и в свою очередь создать ему родителя.

но пока до конца очереди ещё далеко, мы продолжаем брать первые пары элементов и удалять после создания им родителя.
и так пока не останется только один элемент в очереди.
его мы возвращаем в качестве корня дерева.
А без очереди никак? Головой-то вроде понял, но программно это представить для меня сложновато...
И опять же, мне нужно не используя <stl> реализовать дерево.
 
Текущее время: 06:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru