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

объединение множеств - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Драйвер виртуального монитора | Скринкаст из (бэк|график|фрейм)буфера http://www.cyberforum.ru/cpp-beginners/thread676165.html
Собственно, пишу я... Свой велосипед - быстрый VNC-подобный (концептуально) сервер/клиент, который... позволит нормально гамать в Скайрим/СтарКрафт/ВоВ на нэтбуке с ББ. Проблема одна - не хочет ловить кадры. Есть (примерно - плюс/минус) три варианта: + CUDA - нужно узнать функцию, возвращающую указатель на фреймбуфер или копирующие его в выделенный кусок памяти. + DirectDraw - вроде нашли,...
C++ Работа с файлом через класс Доброй ночи всем! Хочу реализовать открытие файла для чтения из конструктора класса CTextFile: #ifndef ___TEXT_FILE___ #define ___TEXT_FILE___ #include <iostream> #include <fstream> #include <string> http://www.cyberforum.ru/cpp-beginners/thread676144.html
Даны действительные числа x1, x2, . . . , хпПолучить последовательность C++
Даны действительные числа x1, x2, . . . , xn ( n >= 2 и заранее неизвестно). Получить последовательность ( x1 – xn ) , ( x2 – xn ) , . . . , ( xn-1 – xn ).
C++ Книги Шилдта
Скажите пожалуйста в чем разница между двумя его книгами: -"Самоучитель С++" -"С++. Базовый курс" Желательно мнение читавших. А также интересует, почему в теме "Литература С++" нет этих книг. Они устарели или вообще не стоит их читать?
C++ Считывание Ентера из файла http://www.cyberforum.ru/cpp-beginners/thread676132.html
Доброй ночи, друзья. Пишу код, считываю из файла слова.. вот, файл имеет допустим такой набор: 10 22 33 41 522 633 74 оно считало 10,22,33,41, а 522 633 77 не хочет, понимаю что там '\n' как бы стоит, но.. уже пробовал много вариантов считывания его, не хочет и всё.. Код:
C++ Функция: поиск неповторяющихся элементов массива помогите написать функцию по поиску количества не повторяющихся элементов в одномерном массиве подробнее

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

объединение множеств - C++

21.10.2012, 01:55. Просмотров 1864. Ответов 5
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template<class ValType, class FwdIt>
  FwdIt copy ( FwdIt first, FwdIt last, FwdIt result )
{
  while (first!=last) *result++ = *first++;
  return result;
}
 
template <class ValType, class FwdIt>
FwdIt set_union(FwdIt first1, FwdIt last1, 
                FwdIt first2, FwdIt last2, FwdIt result)
{
    merge_sort<ValType, FwdIt>(first1, last1);
    merge_sort<ValType, FwdIt>(first2, last2);
    while (true)
    {
        if (first1==last1) return copy<ValType, FwdIt>(first2,last2,result);
        if (first2==last2) return copy<ValType, FwdIt>(first1,last1,result);
 
        if (*first1<*first2) *result++ = *first1++;
        else if (*first2<*first1) *result++ = *first2++;
        else { *result++ = *first1++; first2++; }
    }
}
функция должна объединить два множества в одно.

проверка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{   
    char s[7] = {'A','B','F','D','A','F','F'}; // check set_union
    char q[6] = {'E','A', 'B','H','F','C'};
    char result[10];
    set_union<char>(s,s + 6, q, q + 5, result);
    int size_r = strlen(result);
    for(int i = 0; i < size_r; i++)
        cout << result[i] << ' ';
    cout << endl;
 
 
    return 0;
}
выводится вот такая несуразная строка, подскажите пожалуйста, где процесс идет не так?
у меня лишь догадки, что когда я передаю начало строки и конец ее, вот в этой передаче и кроется беда, но что именно не так идет, никак не пойму
A A B D E F F H ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ A B E F H C ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ ╠ A A B D
F F F ╠ ╠ ╠ ╠ ╠ ← # !
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru