Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.07.2010, 20:08
Artempokrowski Artempokrowski вне форума
Прохожий
 
Регистрация: 05.07.2010
Сообщения: 12
Репутация: 10
По умолчанию Сравнение рандомного числа и массива

Народ подскажите как сравнить рандомное число и элементы массива. я пишу тест.
Код:
var
...
a:array[0..1000] of integer;
pos:integer;
... // это всё глобальные переменные;

procedure Tform1.uslovie(pos:integer);
var
x:integer;
begin
x:=0;
while x<1000 do
if a[x]=pos then
begin
 pos:=random(trunc(sl.Count/8));//значение меняется
 x:=0;
 showmessage ('');// ввёл для себя
 end
 else x:=x+1;
end;
Admin: Пользуемся тегами! При рецедиве последуют санкции!

pos заранее задается.
в массив элементы записываются ещё до этого следующим образом

pos:=random(trunc(sl.Count/8));
nomervoprosa:=nomervoprosa+1;
tform1.uslovie(pos);
a[nomervoprosa]:=pos;

при таком использовании всё равно вопросы повторяются(((( Подскажите как в этом случае сделать так чтобы не повторялись. Не предлагайте менять весь код уже времени нет.

Последний раз редактировалось Admin, 07.07.2010 в 20:28.
Ответить с цитированием
  #2  
Старый 07.07.2010, 20:31
Pigmalion Pigmalion вне форума
Прохожий
 
Регистрация: 01.07.2010
Сообщения: 20
Репутация: 10
По умолчанию

Я не силён в этом, но могу предложить переносить неиспользованные элементы в новый массив или смещать в старом относительно используемого,т.е удаление ненужного.
Ответить с цитированием
  #3  
Старый 07.07.2010, 20:40
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Что есть sl?
Цитата:
sl.Count
Ответить с цитированием
  #4  
Старый 07.07.2010, 21:22
Artempokrowski Artempokrowski вне форума
Прохожий
 
Регистрация: 05.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

Sl это переменная типа tstringlist
count число записанных в нее элементов.
Ответить с цитированием
  #5  
Старый 07.07.2010, 21:26
Artempokrowski Artempokrowski вне форума
Прохожий
 
Регистрация: 05.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pigmalion
Я не силён в этом, но могу предложить переносить неиспользованные элементы в новый массив или смещать в старом относительно используемого,т.е удаление ненужного.


Так вся проблема в том что массив формируется только при ответе на вопрос
Код:
 
a:array[0..1000]
a[nomervoprosa]:=pos;

я уже указывал всё. Или я тебя не понял.
Ответить с цитированием
  #6  
Старый 08.07.2010, 09:08
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

заведи 2-ой стринглист.
изначально равный 1-му.
(перед начало теста)

в процедуре выбора вопроса выбирай индекс из диапазона от 0 до 2-й стринглист.
выбранный вопрос показываешь и удаляешь эту строчку из стринглиста.

и все.
нет никакого гемороя с циклами и т.п.
Ответить с цитированием
  #7  
Старый 08.07.2010, 14:07
Artempokrowski Artempokrowski вне форума
Прохожий
 
Регистрация: 05.07.2010
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Raider
заведи 2-ой стринглист.
изначально равный 1-му.
(перед начало теста)

в процедуре выбора вопроса выбирай индекс из диапазона от 0 до 2-й стринглист.
выбранный вопрос показываешь и удаляешь эту строчку из стринглиста.

и все.
нет никакого гемороя с циклами и т.п.


Я сделал так что он всё удаляет из первого и выбирает из оставшихся вопросов. спасибо за совет)))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025