Показать сообщение отдельно
Старый 05.10.2009, 17:45
MaskiShow вне форума Посмотреть профиль Отправить личное сообщение для MaskiShow Найти все сообщения от MaskiShow
  № 3  
Ответить с цитированием
MaskiShow

Регистрация: Feb 2009
Сообщений: 108
Недавно такое же надо было делать. В итоге для меня оптимальным был вариант ниже. Если вам единовременно надо вывести X разных вопросов из Y, можно сделать примерно так:

Код:
    max = 15; all = 50
array = new Array (max) // массив с номерами вопросов

    u = 0
    while (u == 0) {
        for (i = 1; i <= max; i++) {
            array[i] = Math.randomInt(all) + 1 // случайный номер вопроса
            }
        u = array.sort(Array.RETURNINDEXEDARRAY | Array.UNIQUESORT)
    }
Здесь тупо забиваем массив случайными номерами, и если есть совпадения - переделываем. Отношение Y/X должно быть не менее 4-5 для хорошей работы скрипта, добавьте еще вопросов или уменьшите до 10 количество выводимых.


Последний раз редактировалось MaskiShow; 05.10.2009 в 17:49.