Текущий архив: 2004.06.20;
Скачать: CL | DM;
Вниз
Алгоритм Найти похожие ветки
← →
Rulezz (2004-06-03 12:22) [0]Вопрос по алгоритму
Имеется 10 переключателей
каждый может принимать 3 значения
1й -1,2,3
2ой-4,5,6
3ий -7,8,9
4ий - 10,11,12
итд
нужно "пробежаться" по всем возможным значениям
подробности
такой вид должен иметь результат на выходе
?answer_1=2&answer_2=6&answer_3=9&answer_4=12&answer_5=14&answer_6=17&answer_7=19&answer_8=22&answer_9=25&answer_10=29&p roc=send_quiz&quiz_id=1
где answer_x=y
x- переключатель
y- его положение
Кто сделает тому Сюрприз!!!!!
← →
pasha_golub © (2004-06-03 12:30) [1]Гы, а шо такое переключатель? Рубильник в смысле?
← →
Rulezz (2004-06-03 12:32) [2]на веб страничке RadioGroup представляеш?
← →
Семен Сорокин © (2004-06-03 12:32) [3]Rulezz (03.06.04 12:22)
Почитай про mod и div
← →
ЮЮ © (2004-06-03 13:02) [4]for i1 := 1 to 3 do
for i2 := 4 to 6
...
for i10 := 28 to 30 do bedin
// тут мы и получим все возможные наборы
end;
end;
end;
← →
BillyJeans (2004-06-03 13:11) [5]а что за сюрприз???
← →
GuAV © (2004-06-03 13:14) [6]
const M=3;
function IncArr(var A: array of Integer): Boolean;
var I: Integer;
begin
Result:=True;
I:=0;
repeat
Inc(A[I]);
if A[I] < M then Exit;
A[I]:=0;
Inc(I)
until I=Length(A);
Result:=False;
end;
function Fcn(N: Integer): AnsiString;
var
I,J: Integer;
A: array of Integer;
S: string;
begin
SetLength(A,N);
FillChar(A[0],SizeOf(A[0])*Length(A),0);
repeat
Result:=Result+"?";
for J:=0 to N do
Result:=Format("%sanswer_%d=%d&",[Result,J,A[J]+1]);
Result:=Result+"proc=send_quiz&quiz_id=1"+#13#10;
until (not IncArr(A));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text:=Fcn(3);
end;
M - число положений, параметр - число рубильников.
и то и другое произвольно меняем. M даже можно не const...
> BillyJeans (03.06.04 13:11) [5]
> а что за сюрприз???
← →
GuAV © (2004-06-03 13:25) [7]извините, немного налажал....
for J:=0 to Length(A)-1 do
Result:=Format("%sanswer_%d=%d&",[Result,J+1,A[J]+1]);
← →
GuAV © (2004-06-03 13:30) [8]Не внимательно прочитал условие...
for J:=0 to Length(A)-1 do
Result:=Format("%sanswer_%d=%d&",[Result,J+1,A[J]+1+J*3]);
← →
rulezz (2004-06-03 13:53) [9]шас попробуем
Страницы: 1 вся ветка
Текущий архив: 2004.06.20;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.031 c