Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
2 / 2 / 0
Регистрация: 04.02.2019
Сообщений: 56

Сформировать вектор, состоящий из одинаковых элементов исходных векторов

21.03.2019, 20:13. Показов 4068. Ответов 4

Студворк — интернет-сервис помощи студентам
Ввести два вектора X и Y, состоящих из 10-ти элементов целого типа.
Сформировать вектор S, состоящий из одинаковых элементов исходных
векторов.
Есть начало кода, но не знаю, как создать третий вектор.

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
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <vector>
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "ru");
    const int N = 10;
    int b = 0,k;
    vector<int> x(N);
    
    for (int i = 0; i < N; i++) {
        x[i] = rand() % N;
    }
    cout << "Первый вектор: ";
    for (int i = 0; i < N; i++) {
        cout <<  x[i] << " ";
    }
    cout << endl << endl;
    
    vector<int> y(N);
    
    for (int i = 0; i < N; i++) {
        y[i] = rand() % N;
    }
    cout << "Второй вектор: ";
    for (int i = 0; i < N; i++) {
        cout << y[i] << " ";
    }
    cout << endl << endl;
    vector<int> s(N);
    cout << "Третий вектор: ";
    for (int i = 0; i<N; i++)
        
            if (x[i] == y[i])
            {
                cout << s[i] << ";";
            }
    
    system("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.03.2019, 20:13
Ответы с готовыми решениями:

Сформировать массив S, состоящий из одинаковых элементов исходных массивов
2 массива X, Y, каждый из 10 эл-в. Сформировать массив S, состоящий из одинаковых эл-в исходных массивов. #include&lt;iostream&gt; ...

Сформировать массив, состоящий из одинаковых элементов исходных массивов
Ввести два массива X и Y, состоящих из 10-ти элементов целого типа. Сформировать массив S, состоящий из одинаковых элементов исходных ...

Сформировать вектор Z с элементами исходных векторов
X{x1, x2,..., xn} и Y{y1, y2,..., yn} -исходные векторы. Сформировать вектор Zс элементами zi= xi* yi.

4
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
21.03.2019, 21:35
Первый и второй вектор представить множествами set (#include < set >) с именами a, b (можно копированием с адаптером итератора).
Выполнить пересечение (#include < algorithm >) этих множеств set_intersection(a.begin(), a.end(), b.begin(), b.end(), back_inserter(c));
Результат (одинаковые элементы исходных векторов) будут помещены в вектор c.
set<int> a;
set<int> b;
vector<int> c;
0
2 / 2 / 0
Регистрация: 04.02.2019
Сообщений: 56
21.03.2019, 22:09  [ТС]
SomniPhobia, не могли бы вы написать код?
0
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
22.03.2019, 15:08
Mila27, могу.
Написал код. Если что не понятно -> спрашивай.

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
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <iterator>
#include <random>
 
using namespace std;
 
template<typename T>
ostream& operator << (ostream& os, const vector<T> &v);
 
template<typename T>
ostream& operator << (ostream& os, const set<T> &v);
 
int main()
{
    system("color 0A");
    wcout.imbue(locale("rus_rus.866"));
    wcin.imbue(locale("rus_rus.866"));
 
    //Настройка STL генератора случайности
    random_device rd;
    mt19937 g{ rd() };
    const size_t N = 10u;
    uniform_int_distribution<> distr(0, N);
    auto rand_f = [&distr, &g] { return distr(g); };
 
    //Объявление контейнеров
    vector<int> x(N);
    vector<int> y(N);
    vector<int> s;
    //Заполнение контейнеров x и y
    generate(x.begin(), x.end(), rand_f);
    generate(y.begin(), y.end(), rand_f);
 
    //Объявление множеств
    set<int> xs;
    set<int> ys;
    //Копирование элементов контейнеров x и y в соотвествующие множества
    copy(x.begin(), x.end(), inserter(xs, xs.begin()));
    copy(y.begin(), y.end(), inserter(ys, ys.begin()));
 
    //Пересечение множеств (поиск элементов что есть в первом и во втором)
    //Пересекается xs с ys полученные элементы вставляются back_inserter() в контейнер s
    set_intersection(xs.begin(), xs.end(), ys.begin(), ys.end(), back_inserter(s));
 
    //Вывод на консоль содержимого контейнера x
    wcout << L"Первый вектор:" << endl;
    cout << x;
    cout << endl << endl;
    //Вывод на консоль содержимого контейнера y
    wcout << L"Второй вектор:" << endl;
    cout << y;
    cout << endl << endl;
 
    //Вывод на консоль содержимого множества xs
    wcout << L"Множество из элементов первого вектора:" << endl;
    cout << xs;
    cout << endl << endl;
    //Вывод на консоль содержимого множества ys
    wcout << L"Множество из элементов второго вектора:" << endl;
    cout << ys;
    cout << endl << endl;
 
    //Вывод на консоль содержимого контейнера s
    wcout << L"Третий вектор (содержит только те элементы что есть и в 1 и во 2 векторах):" << endl;
    cout << s;
    cout << endl << endl;
    
    system("pause");
    return 0;
}
 
template<typename T>
ostream& operator << (ostream& os, const vector<T> &v)
{
    for (const auto value : v)
    {
        os << value << " ";
    }
    return os;
}
 
template<typename T>
ostream& operator << (ostream& os, const set<T> &st)
{
    for (const auto value : st)
    {
        os << value << " ";
    }
    return os;
}
Миниатюры
Сформировать вектор, состоящий из одинаковых элементов исходных векторов  
0
2 / 2 / 0
Регистрация: 04.02.2019
Сообщений: 56
22.03.2019, 18:43  [ТС]
SomniPhobia, спасибо, но мне уже не надо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.03.2019, 18:43
Помогаю со студенческими работами здесь

Сформировать вектор, содержащий все элементы исходных векторов, расположенные в порядке убывания
Заданы два произвольных вектора V и W. Составить программу для формирования вектора R,содержащего все элементы исходных...

Сформировать список, состоящий из элементов, которые встречаются в обоих исходных списках
Помогите пожалуйста. Формировать список, состоящий из элементов, которые встречаются в обоих исходных списках &gt;(name ‘(a s d f g h...

Сформировать новый массив, состоящий из элементов, равных соответственно суммам исходных массивов
помогите пожалуйста решить задачу даны три массива VEC 1=(1.0; 3.9; -2.6) VEC 2= (-7; 4.6; -11; 13) VEC 3=(6.9; -3; 12.3; 6.2; 1) ...

Сформировать третий массив, состоящий из тех элементов, которые присутствуют в двух исходных
Задача: Даны два массива. Сформировать третий массив, состоящий из тех элементов, которые присутствуют в обоих массивах; ...

Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных массивов
Произвольно заданы три одномерных массива. Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru