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

Поиск слова в векторе, и вставка одного вектора после искомого слова

16.11.2022, 21:31. Показов 424. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно реализовать создание 2х векторов по классу, поиск нужного слова, и затем вставить вектор 2 после искомого слова в вектор один ( См. комментарий кода) Написать было все не проблема, но на поиске слова, сколько не мучался, ничего не выходит.


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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <string>
#include <string.h>
#include <vector>
#include <Windows.h>
#include <algorithm>
#include <iterator>
 
using namespace std;
 
class Books {
private:
    string aphtor;
    string name;
public:
    Books() {
    }
    Books(string a, string n) {
        this->aphtor = a;
        this->name = n;
    }
    string get_aphtor() {
        return aphtor;
    }
    void output() {
        cout << "Автор: " << aphtor;
        cout << "\nНазвание: " << name << "\n\n";
    }
}; 
 
void c() {
    system("cls");
}
 
void create(int x,vector<Books>&A,vector<Books>&B) {
    int z;
    c();
    cout << "Сколько бы авторов вы хотели добавить?\n\n";
    cin >> z;
    for (int i = 0; i < z; i++) {
        string fio; 
        string name;
        c();
        cout << i + 1 << ". Введите Фамилию И. О. автора, окончить ввод можно знаком |: \n\n";
        getline(cin, fio, '|');
        cout << "\nВведите название книги, окончить ввод можно знаком |: \n\n";
        getline(cin, name, '|');
        if (x == 1) {
            A.push_back(Books(fio, name));
        }
        if (x == 2) {
            B.push_back(Books(fio, name));
        }
    }
}
 
void output(vector<Books>&A,vector<Books>B) {
    c();
    if (A.empty()) {
        cout << "Вектор A пуст\n\n";
    }
    else {
        cout << "Вектор А: \n\n";
        for (auto p = A.begin(); p != A.end(); p++) {
            p->output();
        }
    }
    if (B.empty()) {
        cout << "Вектор B пуст\n\n";
    }
    else {
        cout << "\n\nВектор B : \n\n";
        for (auto p = B.begin(); p != B.end(); p++) {
            p->output();
        }
    }
}
 
 
 
 
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    vector<Books>A,B;
    while (true) {
        c();
        cout << "1.Внести данные в вектор А\t\t 2.Внести данные в вектор B\n\n3.Вывести вектор оба вектора\t\t 4.Вставить вектор B в веткор А\n\n0.Выход\n\n";
        int x;
        cin >> x;
        if (x == 1) {
            create(x,A,B);
            c();
        }
        if (x == 2) {       
            create(x,A,B);
            c();
        }
        if (x == 3) {
            while (true) {
                int x;
                output(A, B);
                cout << "Для выхода в меню введите любую цифру\n\n";
                cin >> x;
                break;
            }
        }
        if (x == 4) {
            while (true) {
                string s;
                int x;
                c();
                cout << "Введите Фамилию автора после которого вы бы хотели вставить вектор B, закончить ввод можно |: \n\n";
                getline(cin, s, '|');
                // Вот тут нужно реализовать поиск слова "s" в векторе A, затем вставить вектор B после этого слова
                // Например Вектор А:
                // 1
                // Автор : Пушкин 
                // Название : Русалочка
                // 2
                // Автор: Толстой
                // Название : Лес
                // 
                // Если искомое слово Пушкин, вставить вектор Б нужно между записью 1 и записью 2
                //
                cout << "Для выхода в меню введите любую цифру\n\n";
                cin >> x;
                break;
 
            }
        }
        else {
            c();
            break;
        }
    }
}
Добавлено через 13 минут
else {
c();
break;
}
нужно убрать в конце (оно там лишнее)

Добавлено через 1 час 25 минут
РЕШЕНО!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2022, 21:31
Ответы с готовыми решениями:

Найти индекс искомого слова в векторе
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; int main() { vector &lt;string&gt; v = {&quot;one&quot;,...

поиск слова и вставка после него кода
Добрый день. Поплась мне в руки кмс одна кривенькая, пришслось разбираться в php =) Помогите советов, как осуществить мою идею. ...

Поиск в ячейке слова и вставка соответствующего слова в соседнюю ячейку
Привет всем В общем пример: В экселе есть строка &quot;2423-423423342 Proliant DL380R03&quot; и рядом в ячейке выпадающий список вендоров....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2022, 21:31
Помогаю со студенческими работами здесь

Поиск в столбце слова и вставка соответствующего слова в соседнюю ячейку
Здравствуйте! Помогите, пожалуйста! Если в перечне состояний (столбец 20 - выделен оранжевым цветом) встречается слово...

Поиск слова в файле и запись предложени после этого слова
Допустим есть файл, в нем несколько предложений, &quot;Шла саша по шоссе и сосала сушку.&quot; на нужно вставить предлог...

Поиск слова после заданного слова. Regex
На вход подаётся std::string = &quot;He was named Jack&quot;. На выходе нужно получить std::string = &quot;Jack&quot;. Т.е. строго следующее слово после...

Поиск определенного слова в строке и замена определенного символа после этого слова
Представим что у нас есть следующая строка: &quot;Дядя Петя 10 раз ударил дядю Васю, но дядя Вася оказался не трусом и дал сдачи в виде 1...

вставка слова после каждой гласной
Дана строка и слово, вставить заданное слово после каждой гласной буквы


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru