|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Oleg Khovayko 2:5020/400 29 Dec 2002 21:16:29 To : Igor Kasyanchuk Subject : Re: масив чисел -------------------------------------------------------------------------------- Igor Kasyanchuk wrote: > ДДДДДДДДДД Здравствуй All!:-) ДДДДДДДДД > > > Как в масив А(10) можно закинуть 10 разных чисел от 0 до 9 чтобы > числа в масиве на ПОВТОРЯЛИСЬ . Hу наверное, с помошью цикла "for": for(int i = 0; i < 10; i++) mas[i] = i; > например 2 5 6 7 0 3 4 9 8 1 > 7 5 4 3 8 9 1 2 0 6 получится 0 1 2 ... 9, что ничем не хуже Ваших примеров, ибо в массиве будут присутствовать 10 неповторяющихся разных чисел, что и требовалось по условию. Если же имеются ввиду все возможные перестановки из 10 чисел в это массиве - то сначала инициализируем массив, как указано выше, а потом применяем к нему next_permutation, пример использования которой можно найти в моем сегодняшнем ответе в эту зху в треде "перестановки". А если интересует одна из возможных перестановок - то какая именно? А если любая - то чем нулевая (когда числа подряд) хуже других? А если все же необходима некая случайная перестановка "из середины" - то ее можно получить двумя способами - либо RND раз вызвав next_permutation, либо же перемешав нулевую перестановку 0 .. 9. Перемешивание же можно сделать например так: for(int i = 9; i > 0; i--) swap(mas[i], mas[RND() % i]); --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6577ab63bedc.html, оценка из 5, голосов 10
|