Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
xmisserx
1 / 1 / 0
Регистрация: 09.11.2009
Сообщений: 44
#1

Перемешать элементы vector-а - C++

10.12.2009, 23:51. Просмотров 2425. Ответов 4
Метки нет (Все метки)

доброго времени суток
имеются три std::vector с одинаковыми количествами элементов. хотелось бы перемешать элементы так, чтобы перемешанные элементы были одинаковы во всех векторах. как понимаю - если даже есть такое свойство у vector, то вряд ли его можно применить одинаково сразу к трем векторам. Как лучше такое реализовать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2009, 23:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перемешать элементы vector-а (C++):

Как обращаться к vector<vector>? - C++
добрый день не подскажите, как обращаться к такой структуре: vector&lt;vector&lt;pair&lt;bool, string&gt;&gt;&gt; v; v....

Разделить vector<string> на два vector<string> - C++
У меня есть vector&lt;string&gt; line_from_file; line_from_file.resize(N); N-некое число Когда я встречу точку &quot;.&quot; в...

class vector (sub operation) - C++
Всем привета :) Задание: Реализовать клас вектор , и умножить вектор на вектор.. Проблема состоит в том что я не могу понять как...

Передача в MPI vector<char*> - C++
Пишу программу на MPI. И возникли сложности. Имеется массив слов и его нужно передать между процессами. Сначала у меня был vector&lt;string&gt;,...

Vector как динамический массив - C++
Здравствуйте. Не могу понять, как сделать с помощью контейнера vector, динамический массив. Заранее спасибо

Перемешать массив - C++ Builder
Есть массив, как его можно перемешать? У меня пока только одна идея, создать новый и туда рандомно записать элементы из массива который...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
11.12.2009, 00:13 #2
Есть random_shuffle, функцию генерации случайных чисел можно задать самому. Если эта функция будет на основе rand, то просто надо вызывать перед всеми тремя перемешиваниями srand с одним и тем же значением - тогда будет одна и та же последовательность каждый раз.
1
xmisserx
1 / 1 / 0
Регистрация: 09.11.2009
Сообщений: 44
11.12.2009, 10:41  [ТС] #3
да, вроде то что надо. спасибо
вот только немножко не допонял как одинаково применять к нескольким объектам (из примера по ссылке)
C++
1
2
3
4
5
ptrdiff_t myrandom (ptrdiff_t i) { return rand()%i;}
ptrdiff_t (*p_myrandom)(ptrdiff_t) = myrandom;
.....
random_shuffle ( a.begin(), a.end(), p_myrandom);
random_shuffle ( b.begin(), b.end(), p_myrandom);
какого типа использовать переменную p_myrandom?..
0
Somebody
2789 / 1603 / 145
Регистрация: 03.12.2007
Сообщений: 4,193
Завершенные тесты: 1
11.12.2009, 21:15 #4
Цитата Сообщение от xmisserx Посмотреть сообщение
вот только немножко не допонял как одинаково применять к нескольким объектам (из примера по ссылке)
Код
unsigned int seed = time(0);
srand(seed);
random_shuffle....
srand(seed); // От того же seed'а
random_shuffle....
Цитата Сообщение от xmisserx Посмотреть сообщение
какого типа использовать переменную p_myrandom?..
В смысле? Здесь же вроде написан тип - ptrdiff_t (*)(ptrdiff_t).
1
xmisserx
1 / 1 / 0
Регистрация: 09.11.2009
Сообщений: 44
11.12.2009, 23:24  [ТС] #5
Somebody, спасибо большое, все понял.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2009, 23:24
Привет! Вот еще темы с ответами:

перемешать масив - C++ Builder
помогите перемешать масив из 28 чисел но так чтобы не повторялись {for (i=1;i&lt;28;i++) {b=i+1; Form1-&gt;Memo1-&gt;Lines-&gt;Add(&quot; b=...

перемешать буквы в слове - C++ Builder
Доброго дня всем! Подскажите пожалуйста, где я тут недоглядел? Хотел написать программу которая бы перемешивала буквы в слове, за...

Перемешать строки в StringGrid - C++ Builder
Необходимо перемешать строки в StringGrid, размер динамический. Помогите пожалуйста.

Рандомно перемешать элементы двумерного массива - C++
Необходимо написать программу которая будет перемешывать рандомно елементы двумерного массива. Размерность массива 5 на 5. Елементы массива...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.12.2009, 23:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru