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

Перенести элементы одного вектора в другой

12.02.2019, 20:19. Показов 4540. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья, такая задача, нужна программа, которая разбивала бы слово, которое вводится с клавиатуры на блоки, количество символов в блоке тоже вводится пользователем и если один блок заполнен не полностью, то дополнить его пробелами, затем буквы в каждом из блоков нужно зеркально отразить. Я сделал так чтобы слово разбивалось на элементы вектора например я ввожу слово "Шифрование" и нужное кол-во мне символов в блоке - 3. Программа разбивает как "Шиф ров ани е ". Но я не могу отразить их задом на перед, пробовал через reverse, но так он полностью разворачивает мне вектор, а не его элементы, тогда я решил пойти путем сложнее, разбив слово по буквам (+ если нужно пробелы) каждая буква + пробелы это элементы вектора. Теперь хочу чтобы нужное кол-во символов равное размеру блока записывалось в другой вектор (V) и уже отражать эти векторы, вероятно что-то я делаю не правильно, так как программа не компилируется, помогите пожалуйста, буду очень благодарен. Можете предложить другие варианты как сделать легче, заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
12
 vector<string> block;
              int l = 0;
              int r = 1;
              vector <string> v;
              int n = block_size;
              while (text.length() >= r)
              {
                  block.push_back(text.substr(l, r - l));
                  l ++;
                  r ++;
                  v.insert(v.end(),block[l], block[n - l]);
              }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2019, 20:19
Ответы с готовыми решениями:

Как перенести элементы из одного массива в другой?
как перенести элементы из одного массива в другой ? пример: 5, 6, 7, 8 ,9 хочу перенести только 5, 6, 9 и чтоб массив сократился ...

Перенести все кратные 5 элементы из одного массива в другой
Преподаватель говорит что код не правильный и функция, считающая количество элементов кратная 5 не нужна. Помогите довести до ума...

Как перенести все отрицательные элементы из одного массива в другой.
Здравствуйте, уважаемые форумчане. Большая просьба помочь: Как из одномерного массива целых чисел все отрицательные элементы перенести в...

8
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,161
12.02.2019, 20:24
Цитата Сообщение от capret Посмотреть сообщение
пробовал через reverse, но так он полностью разворачивает мне вектор, а не его элементы

Не по теме:

вызывать reverse нужно для элементов вектора (string), как я написал в другой теме, а не для вектора

0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 25
12.02.2019, 20:35  [ТС]
ReDoX, да я вот и не могу найти как это сделать, пробывал вот так, но безуспешно
C++
1
2
3
4
5
6
7
unsigned int vector_size = block.size();
                   cout << "Блоки :" << endl;                
                   for (int i = 0; i < vector_size; i++)
                   {
                       reverse(block[i], block[i + 1]);
                       cout << block[i] << endl;
                   }
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.02.2019, 21:35
capret, Вам эти блоки нужно просто вывести на печать или где-то сохранять ?
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 25
12.02.2019, 21:38  [ТС]
Yetty, просто вывести на экран, развернутые блоки
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.02.2019, 21:47
как-то так?
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
#include <iostream> 
#include <algorithm>
#include <string>
using namespace std; 
 
int main() 
{ 
    int i=0, k;
    string s, s1;
    cout << "String:\n";
    getline(cin, s); 
    int n=(int)s.size();    
    cout << "k="; cin >> k;
    int ost=k-n%k;
    for (int j=0;j<=ost; j++)
    if (ost!=k) s+='.';    
       
    while (s[i])
    {       
    s1+=s[i];
    if ((i+1)%k==0)
       {
        reverse(s1.begin(),s1.end());
        cout << s1 << "\n";
        s1="";
        }    
    i++;
    }
    
return 0;
}
1
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,161
12.02.2019, 21:54
capret,
Цитата Сообщение от capret Посмотреть сообщение
reverse(block[i], block[i + 1]);
что за зверь такой?

C++
1
2
3
4
5
6
7
unsigned int vector_size = block.size();
                   cout << "Блоки :" << endl;                 
                   for (int i = 0; i < vector_size; i++)
                   {
                       reverse(block[i].begin(), block[i].end());
                       cout << block[i] << endl;
                   }
1
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 25
12.02.2019, 21:55  [ТС]
Yetty, спасибо, все работает!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
12.02.2019, 22:08
capret, замените строки 15-16 предложенного варианта на такие:
C++
1
2
3
if (ost!=k)
for (int j=0;j<=ost; j++)
s+='.';
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2019, 22:08
Помогаю со студенческими работами здесь

Все элементы вектора, которые встречаются более одного раза, переписать в другой вектор
Все элементы вектора V,которые встречаються более одного раза ,переписать в другой вектор. Задача на С++ помогите решить.

Из одного массива сделать два массива, в один перенести четные элементы, в другой нечетные
Здравствуйте , помогите пожалуйста с такой задачей из одного массива сделать два массива, в один перенести четные елементы, в другой...

Из массива перенести четные элементы в другой массив.А нечетные перенести в другой массив
#include &lt;iostream&gt; #include &lt;locale.h&gt; using nmespace std; main () { int x; int z; int mas; int mas1; int mas2; ...

Четные числа вектора перенести в другой список
Задан список из целых чисел. Удалить (и переписать в другой список) все четные числа с использованием векторов

Из одного вектора в другой
Есть у меня вектор уникальных указателей std::vector&lt;std::unique_ptr&lt;Polygon&gt;&gt; ObjList; Так же имеется класс, в котором тоже...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
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