Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
И толку? Мне не итем найти надо, а сгенерировать случайный список. Получается в файл пишутся построчно номера строк, которые мы берем из словаря, все числа уникальны. Потом просто читаем по очереди эти строки и выводим пользователю ту строку из словаря, которая указана в этой строке списка.
Добавлено (09 Май 2011, 16:35) --------------------------------------------- А вообще спасибо за предложенные варианты, но мне они к сожалению не подходят =)
от 0 до бесконечности =) Но я думаю словари менее 50 строк бессмысленны, у меня 60+ они, а ещё надо будет их все объединить в один для так сказать "пробежаться по всему материалу". А прогрессия геометрическая какая-то выходит и чем больше строк тем больше будет падать скорость. Мой сайт - http://фирмы.онлайн
500 оборотов делаются примерно за 3сек, скорость постоянная.
Добавлено (09 Май 2011, 17:04) --------------------------------------------- регулируя кол-во оборотов можно управлять степенью перемешивания. так что необязательно если у тебя 1000 строк устанавливать 1000 оборотов и перемешивать все сверху донизу. В большинстве случаев, хватит 200-300, рандом будет достигнут. Но конечно, это способ без фанатизма.
Ммм, неплохо. Как я понимаю берем случайную строку из списка и перемещаем на первую строку? Попробую, думаю это решение проблемы Мой сайт - http://фирмы.онлайн
да, при этом сразу сначала списка железно идет рандом. кроме того алгоритм можно усовершенствовать, добавить еще перестановки в цикле, не только на первю но и тоже рандомную позицию. Подобрать баланс рандома и скорости нужно.
Но это все несущественно, если ты будешь читать строку из списка тоже беря ее рандомно, то "рандом существенно увеличивается" и при меньшем числе оборотов...
Добавлено (09 Май 2011, 17:26) --------------------------------------------- но это уже со снижением скорости... нужно контролировать неповторяемость при вынимании из списка.
Можно ещё через 2 списка. Один просто скопированный из словаря, а второй пустой и в него кидать случайную строку из первого в конец до тех пор пока в списке со словарем не закончатся строки. Думаю вот тут 100% рандом Мой сайт - http://фирмы.онлайн