Russian Qt Forum

Программирование => С/C++ => Тема начата: pashazz от Июль 04, 2009, 17:41



Название: Изощренный рандом
Отправлено: pashazz от Июль 04, 2009, 17:41
Есть 20 чисел (от 1 до 20). Нужно рандомно распределить их по парам. например так:
6-17
9-5
1-14
и т.п
Как это сделать? про rand() и srand () знаю.
Спасибо.


Название: Re: Изощренный рандом
Отправлено: Rcus от Июль 04, 2009, 17:54
/* та самая книга, 18.2 Обзор алгоритмов стандартной библиотеки */
#include <algorithm>
std::random_shuffle


Название: Re: Изощренный рандом
Отправлено: ритт от Июль 04, 2009, 19:31
млять...тривиальная задача, ни одной буковки 'q' (ака, к Qt отношения не имеет)...и всё в одну кучу!
а потом сиди и в своё свободное время разгребай эту кучу...

/* дайте же мне моральное право банить юзверей! */


Название: Re: Изощренный рандом
Отправлено: Rcus от Июль 04, 2009, 19:35
Ну мне не особо мешает при чтении, все равно читаю из списка Recent. А вот с поиском потом могут быть проблемы. Хотя кому что, а мне сильно огорчают некропосты.


Название: Re: Изощренный рандом
Отправлено: pashazz от Июль 04, 2009, 23:16
/* та самая книга, 18.2 Обзор алгоритмов стандартной библиотеки */
#include <algorithm>
std::random_shuffle


А без использования вектора обойтись можно?


Название: Re: Изощренный рандом
Отправлено: Rcus от Июль 05, 2009, 06:15
Странный вопрос. Использование контейнера для перемешивания не прихоть, а необходимость. Но без вектора можно обойтись - нужно только два итератора произвольного доступа образующих полуинтервал :)