![]() |
Случайный массив
Проблема:
Незнаю как решить задачу... ------------------------------- Как сделать что-бы выбирался случайный массив? Код:
//vars---------------------------------------------- Вопрос: как сделать, что бы если запускаешь функцию, то выводилось например "А", но неповтрялось вторично, а сдедовало за ним следущие "С" или "В", тоесть отбор случайности не повторялся до тех пор пока все елементы массива не пройдут... |
Я уже устал считать, сколько раз я эту функцию писал. Вы поиском пытались воспользоваться?
|
Не проверял... Может и не работать...
Код:
//vars |
Код:
Fenix = 0; |
2 D12: тебе не приходило в голову, что
Код:
if (ran == 0) {Код:
arr.splice(ran, 1); |
Многоуважаемый iNils это ты должен знать , флешь твоя работа и ты в ней совершенствуешся =)
а я так итузиазист : ) P.S. Постораюсь расти над собой : ) |
Сенкс чуваки....
|
2 D12: Ладно прибедняться :)
|
Мой старый гениальный код :) Не смейтесь, он НИКОГДА не ошибается
Код:
my_btn.onPress = function() { |
2 Wolsh:
Да, это действительно не смешно... +_+ |
Не, ну если хочешь можешь засунуть в цикл, но копи/пасте быстрее :)
(я всё понимаю про "красоту кода", потому и просил не смеяться) |
Код:
a = ['a', 'b', 'c']; |
А вообще, мне больше всех вот это элегантное решение нравится:
Код:
Array.prototype.shuffle = function() { |
Денис, как тебе это может нравится, когда это не АС2 и меняет текущий класс?:D
|
Элегантное??? Может быть. Только оно ПОВТОРЯЕТСЯ, а значит не является решением заявленной проблемы. И первое (прости за наглость), тоже повторяется.
|
Ну, вообще, если говорить о задаче, то вот:
Цитата:
|
Цитата:
|
Думаю, товарищ сформулировал неверно. Понятно же и так, чего он хочет - чтобы два раза подряд один и тот же мувик не пошел
|
Нет, массив-то оно перемешивает будь здоров. Это его задача, и она решена на 5. Но элементы по одному индексу повторяются, и значит невозможно вытащить неповторяющееся число. Это в общем и так видно, из кода. Чтобы решить поставленную задачу, надо либо проверять на равенство с предыдущим значением, либо исключать это значение из рассматриваемых заранее.
Других способов не вижу. А первый способ просто подряд совершенно одинаковые массивы выдает с частотой примерно один из восьми |
Wolsh, не фига не понял того что ты написал.
|
Вот трейс:
Код:
2,4,5,8,6,1,3,7,9 |
Сортируется массив и идет обращение каждый раз к следущему индексу пока не достигнем конца массива.
|
Цитата:
|
Цитата:
|
Смотри в трейсе:
строчки 3 и 4. Мувик 2 повторится. строчки 4 и 5. Мувик 9 повторится. |
Вопрос стоял так
Цитата:
|
Хорошо, а вот что на душе у человека наболело:
Цитата:
|
Цитата:
|
Товарищи, вообще-то ещё в 7-ом сообщении темы автор поблагодарил всех за помощь, что наводит на мысль о том, что его удовлетворил тот код, который ему предоставили ранее, поэтому в своих спорах о том, чего же хотел автор, стоит отталкиваться от того, что было написано с первого по 7-ое сообщение. ^_^
|
Серьёзно? :) Ну ладно тогда, мы тут достаточно понаписали, придет автор и возьмёт что ему надо. У меня 6 утра, я спать.
Mr. Fixit, только мой код никогда не повторяет подряд два мувика, хотя возможна последовательность 1,2,1,2 при наличии в массиве 3, 4, и 5. Остальные хорошо тусуют их в массиве, но при переходе к следующему показу массива возможен повтор последнего мувика. Выберите, что вам подходит. Это чтоб никто не путался в наших решениях :) |
Мммм, да я вообще привёл вариант shuffle… И он, ессно, не является решением задачи.
|
Спасибо..
проблема была в том что-бы по 2 раза не выбирало одно и тоже... |
| Часовой пояс GMT +4, время: 15:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.