![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]()
Доброго времени суток.
К примеру есть 57 вопросов из которых должны отобразится всего 15 у пользователя на экране. Каждый следующий вопрос должен появляться при нажатии кнопки. Но как показала практика из за генерации случайных чисел вопросы могут выпадать по два раза подряд одни и те же. Или за все время прохождения теста. Вопрос, как сделать проверку чисел чтобы не выводить значения которые уже были? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Можно, например, в TList поместить номера вопросов, рандомно выбирать и удалять после выбора. Аналогично это можно сделать с массивом номеров.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 17.10.2018
Сообщений: 184
|
![]()
Легко, красиво и изящно используя Set
Код:
|
![]() |
![]() |
![]() |
#4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 17.10.2018
Сообщений: 184
|
![]()
Компилятор. Он обнуляет все глобальные переменные. Если оформить в виде функции то да, надо будет руками кой чего дописать символов эдак семь. Тут вроде помощь, а не сделайте за меня бесплатно. Я рабочий код подкинул, остальное дело за воспрошающим.
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]() Цитата:
И вопросы у которых id от 1..9 не выпадают и еще на 15 вопрос всегда выпадает id 57 |
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]()
Ну так прочитайте хелп или в книге про функцию Random и ее параметр. Вдруг узнаете как сделать не двузначные и причем там 57.
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Вот Вы понимаете, что если использовать ваш код в основной программе,то переменные будут переменные и компилятор их обнулит (кстати, борланд всегда говорил, что это поведение не гарантируется и в следующих версия оно может быть изменено). А если использовать код в процедуре/функции, то переменные будут локальные и там вообще будет мусор.
А Вы уверены, что тот новичок, который использует ваш код, об этом знает? я уже молчу о том, что не иницилизировать переменные перед тем, как обратиться к ним - это ужасный моветон. Классика же - Буратино дали два яблока. Сколько яблок у Буратино? Ответ - а хрен его знает, нам же не сказали, сколько у него яблок было до этого. ну и последнее. в таких задачах намного удобнее просто заполнить массив(список) значениями подряд и потом перемешать случайным образом: ТЫЦ например, Код:
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 19.12.2012
Сообщений: 49
|
![]() Цитата:
С помощью вашего примера при создании страницы заполняю memo. Далее по кнопке беру первую строку memo и подставлю в запрос: Код:
|
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
пожалуйста.
Всё так. Но зачем Вам мемо для этого? объявите массив, при создании формы заполните его (перемешайте) и потом берите по одному значению. примерно так: Код:
где надо использовать Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Записать в файл последовательного доступа N натуральных чисел: a1, a2, ... аn (числа получить с помощью генератора случайных чисел | Casillas1 | Помощь студентам | 15 | 15.05.2014 11:41 |
5.Создать файл из 100 целых чисел, лежащих на отрезке [150,9000], используя генератор случайных чисел. -Вывести эти | viktoriya95 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 21.02.2014 22:36 |
Реализовать генератор случайных чисел, ассемблер | Pusher | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 24.08.2010 00:12 |
как задать диапазон для случайных чисел | Аlex | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 07.05.2010 03:18 |
Генерация случайных дат из диапазона, как реализовать? | antoha73 | Общие вопросы Delphi | 7 | 24.03.2010 07:15 |