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

Задача "Работа со строками" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные. http://www.cyberforum.ru/cpp-beginners/thread616055.html
Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные.
C++ Построить график зависимости Помогите написать программу на С++ .Построить график зависимости расстояния от водной поверхности до верхней точки плавающего на воде тела от плотности материала данного тела, если это пирамида... http://www.cyberforum.ru/cpp-beginners/thread616048.html
Запустить функцию с именем из переменной C++
Всем доброго времени суток! Можно ли вызвать функцию, имя которой написано в переменной? Например, в ЯП AutoIt такая возможность есть (выглядит так: Execute("func_name(params)")). Делаю класс...
C++ Задачка на высокосный год
Дана структура, задающая дату вида: Struct date {int day; int month; int year;}; Пользуясь таким структурным типом, составить программу, определяющую: дату, которая наcтупит через m дней; ...
C++ Дан массив (codeblocks10.04) http://www.cyberforum.ru/cpp-beginners/thread616036.html
Дан массив из n целых чисел. До и после каждого числа, кратного 7, вставить число, равное 5. Не надо заводить ни каких вспомогательных массивов (в том числе и в своих функциях).есть ошибка которую...
C++ Найти сумму квадратов чисел. Сodeblocks 10.04 Найти сумму квадратов тех чисел a1, …, a100, которые не превосходят двух. Логика хромает. должно не превосходить двух, есть ошибка которую не могу исправить. помогите пожалуйста. #include... подробнее

Показать сообщение отдельно
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.06.2012, 00:19
Цитата Сообщение от gooseim Посмотреть сообщение
C++
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
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <functional>
 
std::wstring unique(const std::wstring& s1, const std::wstring& s2)
{
   std::wstring s1_ = s1;
   std::wstring s2_ = s2;
   
   std::sort(s1_.begin(), s1_.end());
   std::sort(s2_.begin(), s2_.end());
   
   std::wstring out;
   
   std::set_symmetric_difference(s1_.begin(), s1_.end(), s2_.begin(), s2_.end(), std::back_inserter(out));
   
   return out;
}
 
int main()
{
   std::vector<std::wstring> seqs = {L"абвг", L"гдежз", L"жзик"};
   
   std::wcout << std::accumulate(seqs.begin(), seqs.end(), std::wstring(), [](std::wstring s1, std::wstring s2) {return unique(s1, s2);}) << std::endl; 
 }
Добавлено через 1 минуту
Только не предусмотрел, что может быть еще что-то кроме русских.
Не знаю как у кого, но у меня надо добавить #include <numeric> для accumulate(). 26 строку компилятор не пропускает, но, даже, если записать так:
C++
1
2
3
seqs.push_back(L"абвг");
seqs.push_back(L"гдежз");
seqs.push_back(L"жзик");
, то ничего не выводится.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.