![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
![]()
Доброго времени суток форумчане, у меня тема курсовой работы - тестирующая программа, в ней вопросы берутся из текстового файла, на каждый вопрос отводится 15 строк, как сделать задание вопросов в случайном порядке и что бы вопросы не повторялись?
|
![]() |
![]() |
![]() |
#2 |
Ещё не
Форумчанин
Регистрация: 04.01.2010
Сообщений: 517
|
![]()
Здравствуйте, Можно как вариант сделать следующие, создать массив и в него загонять числа задание, по мере прохождения теста, то есть выдало случайное число вы его проверяете нет ли его в массиве и если нет то шуруете задание =)
Воображение важнее, чем знания. (Albert Einstein)
![]() |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]()
Вот ,что Вам пригодиться :
http://www.delphibasics.ru/Randomize.php http://www.delphibasics.ru/Random.php Пример (приблизительный) : Код:
Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) сходите в поиск. Эта задача на форуме решалась неоднократно
2) все вопросы должны быть заданы? Или только часть из них? Можно очень просто загрузить все вопросы в память, перетасовать и брать оттуда по порядку (они уже будут идти в случайном порядке) |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 18.12.2008
Сообщений: 266
|
![]() Цитата:
лучше генератор, будет непредсказуемо, что более эффективно. Мало открыть человеку глаза, большинство еще просит указать дорогу и ждет волшебного пенделя. |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 12.11.2010
Сообщений: 8,568
|
![]()
можно поступить следующим образом.
Пусть в файле содердится N вопросов. Мы задаём некоторое число m (которое не превышает N). Сгенерировать m случайных чисел, принадлежащих диапазону от 1 до N, включая границы диапазона. Поместить эти числа в множество (если вопросов больше, чем 256, можно написать свой объект-множество, способный хранить более 256 элементов, либо же просто воспользоваться массивом). Далее (хорошо было бы, если вопросы в файле были занумерованы) читаем из файла вопросы. Если номер считываемого вопроса содержится в нашем "множестве", то записываем его к себе в переменные, иначе - пропускаем его. Как перемешать массив вопросов? Можно так: если в массиве 1 вопрос - выход, нечего там мешать. Если в массиве 2 вопроса, то сгенерировать случайное число (из диапазона (0;1)), и если оно больше, чем, например, 0.5, то обменять эти вопросы местами. Во всех остальных случаях, когда число вопросов 3 либо больше, можно поступить так: Цитата:
|
|
![]() |
![]() |
![]() |
#7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Есть подобная программа, обращайся, потолкуем.
А, вообще, мысль главная - запомнать надо "приведенный" вопрос, т.е. тот который реально находится в строке, что-то вроде массива, где индексом является номер строки, куда записывается уже реальный вопрос, при отметке строки надо указать что пользователь ответил на вопрос, который лежит в нашем массиве по индексу отмечсенной строки. Положить всё в массив - труда нет, тасуем и кладем, только всегда четко помнить что конкретный вопрос лежит по конкретной строке, чтобы не запутаться)) |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 29.05.2011
Сообщений: 24
|
![]()
Как мне сделать, что бы из массива вопросы читались в случайном порядке и не повторялись??
p.s.нужно задать все вопросы из файла, а некоторые из них занимают больше чем 256 символов |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
тут уже столько советов надавали? Неужели трудно выбрать?
И посмотрите, например, вот эту тему (я же говорил, зря Вы поиском не пользуетесь!) Создание программы-аналога игры Кто хочет стать миллионером |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопросы из мемо в случайном порядке | Selicat | Помощь студентам | 5 | 18.05.2011 15:27 |
Rss лента ( как можно вывести в случайном порядке ?) | nikolj | JavaScript, Ajax | 0 | 01.05.2011 11:55 |
C# - Посимвольный вывод слова в случайном порядке | Lastsummer | Помощь студентам | 4 | 02.02.2011 12:40 |
Ошибка в тесте | grom333 | Помощь студентам | 1 | 09.04.2010 16:57 |
отсортировать таблицу сначала в алфавитном порядке фамилий продавцов, затем в порядке возростания получен | Lora | Microsoft Office Excel | 1 | 31.05.2008 17:22 |