Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Деление строки на части по знаку препинания https://www.cyberforum.ru/ cpp-beginners/ thread868215.html
Есть строка, состоящая из нескольких слов. string ss = "Автор Название стоимость жанр"; При помощи этого кода она делится на слова: istringstream iss(ss); while (iss >> ss) cout << ss <<...
C++ динамические структуры
Дана динамическая матрица размера N*M (N и M вводятся). Среди столбцов матрицы, содержащих только элементы в диапазоне от 0 до 10, найти столбец с максимальной суммой
C++ Выполнить поиск заданного элемента методом однородного бинарного поиска https://www.cyberforum.ru/ cpp-beginners/ thread868205.html
3 В отсортированном одномерном массиве X(100)выполнить поиск за-данного элемента методом однородного бинарного поиска
C++ Выполнить сортировку одномерного массива методом Шейкера https://www.cyberforum.ru/ cpp-beginners/ thread868203.html
Выполнить сортировку одномерного массива X(100) методом Шейкера.
Построить последовательность заданного количества элементов, используя следующее рекуррентное соотношение C++
Построить последовательность заданного количества элементов, ис-пользуя следующее рекуррентное соотношение ai = 2ai-1 + ai-2, i=0…n, a0=2, a1=2. Выбрать 7 последних чисел из этой последовательности и...
C++ крестики нолики против компьютера https://www.cyberforum.ru/ cpp-beginners/ thread868195.html
Всем привет! Пишу крестики нолики в консольном режиме, пытаюсь сделать так, чтобы можно было играть против компа. Вот код #include <iostream> #include <stdlib.h> using namespace std; char...
C++ Перегрузка операторов. C++ https://www.cyberforum.ru/ cpp-beginners/ thread868189.html
Помогите пожалуйста написать программу на тему перегрузка операторов. Задания Унарная операция. Создать объект - связный двунаправленный список с перегруженными унарными операциями «+ +», «-»,...
Поиск файла C++
Необходимо выполнить поиск файла во всех директориях на диске, зная только имя файла Возможно ли это сделать на чистом с++, если да то как? если нет то в какую сторону следует копать?
C++ Простые упражнения по С++ https://www.cyberforum.ru/ cpp-beginners/ thread868163.html
Здравствуйте. Тут (если можно) буду просить помощи... Добавлено через 2 минуты Вот такой кодик: #include<iostream> int main() { int v1, v2; std::cin >>v1>> v2;
C++ Двойственные задачи линейного программирования Здравствуйте. Прошу помощи в решении данной задачи. Задали мне ее, для самостоятельного изучения, я пыталась привести ее в другой вид, но безуспешно. В интернете подобия данной задачи найти не могу.... https://www.cyberforum.ru/ cpp-beginners/ thread868156.html
C++ Создание d3d меню
Всем доброе время суток подскажите как создать такое меню https://www.cyberforum.ru/attachment.php?attachmentid=268744&d=1368783301, что бы при нажатие левой кнопкой мышки на квадрат открывалось...
C++ Найти все прямоугольники заданной площади Найти все прямоугольники заданной площади.Считать, что длины сторон прямоугольников и площадь выражаются натуральными числами. https://www.cyberforum.ru/ cpp-beginners/ thread868128.html
1456 / 793 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.05.2013, 16:06 0

Сравнение векторов - C++ - Ответ 4571444

17.05.2013, 16:06. Показов 1422. Ответов 2
Метки (Все метки)

Ответ

Я бы так написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
std::size_t counts_(const std::vector<std::pair<std::vector<std::string>, std::vector<std::string>>>& where, 
        std::vector<std::string> what)
{
    if (where.empty()) return 0;
    typedef std::pair<std::vector<std::string>, std::vector<std::string>> vec_type;
    std::vector<std::string> temp;
    std::sort(what.begin(), what.end());
    what.erase(std::unique(what.begin(), what.end()), what.end());
    std::size_t count = 0;
    std::for_each(where.begin(), where.end(), [&temp, &count, &what](const vec_type& i)
    {
        temp.assign(i.second.begin(), i.second.end());
        std::sort(temp.begin(), temp.end());
        temp.erase(std::unique(temp.begin(), temp.end()), temp.end());
        if (std::includes(temp.begin(), temp.end(), what.begin(), what.end()))
            ++count;
    });
    return count;
}
Не тестил, возможны ошибки.

Вернуться к обсуждению:
Сравнение векторов C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2013, 16:06
Готовые ответы и решения:

Сравнение векторов
Создать класс, метод, который будет сравнивать два вектора по длине.

Сравнение векторов
Вот имеется вектор &lt;bool&gt; длиной допустим 5, а второй вектор &lt;bool&gt; длиной 200. Вот мне надо...

Сравнение двух векторов
Всем привет. Есть задание: сравнить 2 вектора целых чисел. И выяснить не является ли один из них...

Структура , сравнение длин векторов
Тип данных задается структурой с необходимыми полями, и операции реализуются как внешние...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2013, 16:06
Помогаю со студенческими работами здесь

Ввод двух векторов и их сравнение
Требуется получить два вектора и определить является ли один из них префиксом другого. Проблема во...

Сравнение длины двух векторов
Как мне правильно сравнить величины векторов??? Длину я вычислил, сравнить не могу)) class...

Сравнение векторов и замена слов в векторе
Вводим n-е количество слов в векторе str. Имеется второй вектор dislike с определенными словами....

Сравнение двух векторов <string>, удаление повторяющихся элементов
# include &lt;iostream&gt; # include &lt;vector&gt; # include &lt;iterator&gt; # include &lt;string&gt; # include...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru