Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» алгоритм перестановки чисел без повторов

Автор: SHERATON
Дата сообщения: 31.07.2003 17:52
Можт ктонить здесь знает как сгенерировать рандомальные перестановки чисел????? (от 1 до 15) без повторов!!! всего должнобыть 15 факториал таких комбинаций
(Лучше на С++ или на псевдокоде...)
Автор: Serjik
Дата сообщения: 01.08.2003 09:33
SHERATON
Создай "дерево" через рекурсию
Автор: roma
Дата сообщения: 01.08.2003 10:38
SHERATON

Цитата:
рандомальные

а нужно именно рандомальные? нельзя попорядку?
Автор: SHERATON
Дата сообщения: 02.08.2003 18:17
ага да я пятнашки пишу на VC++ мне нужна функция которая будет
возвращать перестановку чисел от 1 до 15
rand() не подходит во-первых она
при каждом запуске выдает одну и туже последовательность чисел
во-вторых после mod 15 получаюца повторы ;(
Автор: offroadpia
Дата сообщения: 02.08.2003 20:15
std::random_shuffle ?
Автор: mymuss
Дата сообщения: 02.08.2003 15:54
SHERATON

Цитата:
rand() не подходит во-первых она
при каждом запуске выдает одну и туже последовательность чисел

Как это понять?
Во-первых, seed менять надо (srand())
Во-втроых, надо не rand() / srand() а random() / srandom() (если оно у тебя есть, конечно)


Цитата:
всего должнобыть 15 факториал таких комбинаций

Я не пойму, тебе что сразу все 15! надо?
Автор: SHERATON
Дата сообщения: 03.08.2003 17:19
[q][/q]

offroadpia!!!!
Спасибо тебе!!!!!!!!!
все работает!!!!
Автор: UncoNNecteD
Дата сообщения: 03.08.2003 18:43
SHERATON
Самый простой способ примерно так - генеришь новое число, смотришь есть ли оно уже в массиве, если нет - добавляешь, если есть - генеришь другое.
И юзай инициализатор рандомов, чтоб "повторов не было" (с)
Автор: ShIvADeSt
Дата сообщения: 05.08.2003 01:07
UncoNNecteD Если на Дельфи то, вместо массива лучше использовать множество оно как раз для этого и предназначено, то есть сгенеренные элементы заносить в масив, но стобы его 15 раз не перебирать, эти элементы добавлять в множество а потом использовать функцию проверки принадлежности следующего элемента множеству -если его там нет, то заполняем и массив и множество. Хотя и твой вариант ничего.( За исключением 15 по 15-n пробежек по масиву. :-))
Автор: UncoNNecteD
Дата сообщения: 05.08.2003 06:45

Цитата:
а потом использовать функцию проверки принадлежности следующего элемента множеству -если его там нет

А эта функция по твоему не перебирает множество ?
Чудес на свете не бывает. На Свете я только обычно

Страницы: 1

Предыдущая тема: Как заблокировать мышь?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.