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

Декартово дерево - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить круг минимального радиуса, содержащий весь массив точек http://www.cyberforum.ru/cpp-beginners/thread1685408.html
Даны вещественные массивы X и Y. Определить радиус наименьшего круга с центром в начале координат, внутрь которого попадают все точки с координатами (X, Y), где i=0,…, N-1. Help! Вот что натворил, помогите исправить, пожалуйстаа #include <iostream> #include <math.h> using namespace std; int main () { int n; double r, r0; cout<<"Vvedi kolvo tochek"<<endl; cin>>n;
C++ Найти среднее арифметическое заданного поля (год издания) массива объектов типа "Книга" Дан массив из N структур. Структура содержит поля: автор, название, год издания. Найти среднеарифметический год издания. Вывести названия книг, год издания которых меньше среднеарифметического года.Не выводит /туплю #include <iostream> using namespace std; struct book{char autor; char nazvanie; float god;} t; //struct Book {char *name;char *author; unsigned int year; Book *next; Book *prev;... http://www.cyberforum.ru/cpp-beginners/thread1685393.html
C++ Как написать windows-платформно независимое приложение ?
Нужно простейшее диалоговое приложение, фактически установщик, копирующий файлы, но нужно, чтобы работало по умолчанию на линейке XP-Windows10 без установки дополнительных библиотек. Нашел пример с простейшим диалогом на win32 http://www.codeproject.com/Articles/227831/A-dialog-based-Win-C-program накидал его, попробовал запустить на win7 и win10 все равно ругается, требует vcruntime140D.dll...
C++ Заливка многоугольника
Всем здрасьте. Может быть кто-то писал прогу по заливке многоульника,поделитесь кодом, чтобы можно было выбрать кол-во углов, цвет, и скорость заливки. Или хотя бы что-то подобное?
C++ Теория Игр, Экономическая игра "П&Т" http://www.cyberforum.ru/cpp-beginners/thread1685347.html
Экономическая игра "П&Т" (http://www.e-olymp.com/ru/problems/148) Задано два неотрицательных целых числа A и B. Два игрока – Поставщик (П) и Транзитер (Т), ходят по очереди и придерживаясь наилучшей стратегии, играют в игру, в которой П всегда начинает первым. За один ход нужно от большего с чисел вычесть натуральное число, кратное меньшому, получив при этом неотрицательный результат. Проиграл...
C++ Expected primary-expression before 'int' expected primary-expression before 'int' #include <iostream> using namespace std; int pl(int x); int main(){ int a; for(int i=0;i<10;i++){ cout<<"Enter "<<i+1<<" number"<<endl; cin>>a; } подробнее

Показать сообщение отдельно
poteytus
0 / 0 / 0
Регистрация: 18.12.2015
Сообщений: 1

Декартово дерево - C++

15.03.2016, 12:09. Просмотров 123. Ответов 0
Метки (Все метки)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <windows.h>
#include <iostream>
struct item {
    int key, prior;
    item * l, *r;
    item() { }
    item(int key, int prior) : key(key), prior(prior), l(NULL), r(NULL) { }
};
typedef item * pitem;
 
void split(pitem t, int key, pitem & l, pitem & r) {
    if (!t)
        l = r = NULL;
    else if (key < t->key)
        split(t->l, key, l, t->l), r = t;
    else
        split(t->r, key, t->r, r), l = t;
}
 
void insert(pitem & t, pitem it) {
    if (!t)
        t = it;
    else if (it->prior > t->prior)
        split(t, it->key, it->l, it->r), t = it;
    else
        insert(it->key < t->key ? t->l : t->r, it);
}
 
void merge(pitem & t, pitem l, pitem r) {
    if (!l || !r)
        t = l ? l : r;
    else if (l->prior > r->prior)
        merge(l->r, l->r, r), t = l;
    else
        merge(r->l, l, r->l), t = r;
}
 
void erase(pitem & t, int key) {
    if (t->key == key)
        merge(t, t->l, t->r);
    else
        erase(key < t->key ? t->l : t->r, key);
}
 
pitem unite(pitem l, pitem r) {
    if (!l || !r)  return l ? l : r;
    if (l->prior < r->prior)
    {
        pitem pp = l;
        l = r;
        r = pp;
    }
    pitem lt, rt;
    split(r, l->key, lt, rt);
    l->l = unite(l->l, lt);
    l->r = unite(l->r, rt);
    return l;
}
Сами операции реализовал, а вот вывод на экран и ввод с клавиатуры не получаются, буду благодарен за помощь)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru