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

Как вывести элементы двумерного вектора через итератор?

03.09.2019, 20:15. Показов 6239. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    using namespace std;
 
    
    vector < vector <string>>::iterator iter;
    vector < vector <string>> pole={
        {"дорога","Идет то в гору, то с горы, но остается на месте."},
        {"шахматы","Где встречается такое, что конь через коня перепрыгивает? "},
        {"переселенец","В каком слове 5 е и никаких других гласных?"},
        {"владивосток","В каком городе спрятались мужское имя и сторона света? "}
    };
    
    for (iter = pole.begin(); iter != pole.end(); iter++) {
        cout << *iter;
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2019, 20:15
Ответы с готовыми решениями:

Удаление элементов вектора через итератор
почему так: //работает vector&lt;int&gt;::iterator it=garage.begin(); while(it!=garage.end()) { it=garage.erase(it); } а так...

Как правильно вывести элементы массива используя итератор?
Ребят, помогите понять, почему вывод такой кривой? Я хочу получить вывод как указано в test9(), но выводит не то что надо. Буду очень...

Возможно ли через итератор перебрать элементы матрицы?
возможно ли через итератор перебрать элементы матрицы ?

11
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 20:31
C++
1
2
3
4
for (auto iter = pole.begin(); iter != pole.end(); iter++) {
    for(auto it = iter->begin(); it != iter->end(); it++)
        //do smth
}
1
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
03.09.2019, 20:44  [ТС]
сработало, а как без auto написать

Добавлено через 1 минуту
понял просто создать еще один итератор

Добавлено через 1 минуту
не не выходит с иетератором it
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 21:00
Лучший ответ Сообщение было отмечено insandre как решение

Решение

iter - тип vector < vector <string>>::iterator
it - тип vector <string>::iterator
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
03.09.2019, 21:57  [ТС]
C++
1
random_shuffle(pole.begin(), pole.end());
запускаю рандом ,но видимо для двумерного вектора надо иначе делать ?
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 22:00
Лучший ответ Сообщение было отмечено insandre как решение

Решение

Цитата Сообщение от insandre Посмотреть сообщение
надо иначе делать ?
да, для каждой строчки
C++
1
2
for(auto it = pole.begin(); it != pole.end(); it++)
   random_shuffle(it->begin(), it->end());
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
03.09.2019, 22:24  [ТС]
всеравно не мешает

Добавлено через 13 секунд
с массивами проще
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 22:28
Цитата Сообщение от insandre Посмотреть сообщение
всеравно не мешает
Изначальна тред был о другом

Цитата Сообщение от insandre Посмотреть сообщение
с массивами проще
Как скажите
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
03.09.2019, 22:31  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
vector<string>::iterator it;
    vector < vector <string>>::iterator iter;
    vector < vector <string>> pole = {
        {"дорога","Идет то в гору, то с горы, но остается на месте."},
        {"шахматы","Где встречается такое, что конь через коня перепрыгивает? "},
        {"переселенец","В каком слове 5 е и никаких других гласных?"},
        {"владивосток","В каком городе спрятались мужское имя и сторона света? "}
    };
    string slovo = pole[0][0];
    string podskazka = pole[0][1];
    srand(static_cast<unsigned int>(time(0)));
    for (auto it = pole.begin(); it != pole.end(); it++) 
        random_shuffle(it->begin(), it->end());
        cout << slovo << " " << podskazka;
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
03.09.2019, 22:34
insandre, вы хотите рандомную загадку что ли?
0
0 / 0 / 0
Регистрация: 21.08.2016
Сообщений: 137
03.09.2019, 23:24  [ТС]
нуда)
0
 Аватар для Cortas
223 / 150 / 79
Регистрация: 14.03.2016
Сообщений: 459
04.09.2019, 15:59
insandre,
C++
1
2
3
vector<string>::iterator it = pole[rand() % pole.size()].begin();
//или
vector<string>::iterator it = (pole.begin() + rand() % pole.size()).begin();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.09.2019, 15:59
Помогаю со студенческими работами здесь

Как вывести элементы вектора, являющиеся членами класса?
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;cstdio&gt; using namespace std; typedef struct moment{ int h,m,s; ...

Как вывести элементы вектора, тип которых pair<string>?
#include &lt;iostream&gt; #include &lt;utility&gt; #include &lt;vector&gt; #include &lt;iterator&gt; #include &lt;string&gt; using std::cin; using std::cout;...

Вывести элементы списка в таком же виде как и через print, но через return?
Как вывести элементы списка в таком же виде как и через print,но только через return? def solution(A): print(*list(set(A)))'''Как...

Итератор вектора
Только начал изучать STL. Проблема с итератором. conversion from 'std::vector&lt;Alfa&gt;::iterator {aka...

Итератор для вектора
Привет, столкнулся с тем что при использовании stl вектора понадобился итератор перехода на элемент через индекс. не могли бы вы привести...


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

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