forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   проблем с массивами (http://forum.boolean.name/showthread.php?t=7461)

temned 17.12.2008 21:53

проблем с массивами
 
Я делаю игру миллионер. В начале икода я описываю 20вопросов. Потом в процедуре игры, в начале делаю цмкл отбора из этих 20 случайных 10:
for i:=1 to 10 do begin
k:=random(20)+1;
vopros[i]:=v[k];
end;

КАк мне сделать так, чтобы была проверка, если такой вопрос уже есть, то выбираем другой, ЭТО чтобы в моем мидлете вопросы не повторялись за игру.
я думал, может как-то так:
for i:=1 to 10 do begin
k:=random(20)+1;
for r:=1 to i do begin
if vopros[i]=vopros[r] then begin // если вопрос i равен ранним вопросам, то
vopros[i]:=v[k+1]; // вопрос i равен
end;
end
vopros[i]:=v[k];
end;
ПОМОГИТЕ::::SOS: :SOS:

abcdef 18.12.2008 01:13

Ответ: проблем с массивами
 
сделай массив булеевских переменных, обнули. при выборе вопроса пиши в ту же позицию true , когда следующий вопрос смотри чтоб соответствующий элемент был false

Romanzes 18.12.2008 18:57

Ответ: проблем с массивами
 
Обнулять не надо, МП сам все обнулит.

temned 18.12.2008 19:56

Ответ: проблем с массивами
 
если мона напиши конкретный пример, мне надо чтобы при выборе 10вопросв из 20, вопросы не повторялись. Например vopros[1]:=v[r], где v[1..20]- все вопросы, vopros[1..10]-вопросы игры, их 10, r-random. Мне надо сделать так, чтобы vopros не совпадал с другими vopros, короче чтоб не было других вопросов

beZ_probleM 18.12.2008 20:13

Ответ: проблем с массивами
 
PHP код:

var check:array[1..20of boolean;

for 
i:=1 to 20 do
begin
 repeat
   k
:=random(20)+1;
 
until check[k]=false;
 
vopros[i]:=v[k];
 
check[k]:=true;
end


abcdef 19.12.2008 12:35

Ответ: проблем с массивами
 
если игра в один проход и выключили, то можно обойтись и без bool-массива, просто обнуляй строки с текстом, и ищи пока не пустая строка


Часовой пояс GMT +4, время: 17:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot