請問如何撰寫檢查 6個號碼中不能有相同號碼出現?? |
答題得分者是:fatmoon1
|
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
<textarea class="delphi" rows="10" cols="60" name="code">
procedure TForm1.Button1Click(Sender: TObject);
const
i1 : array[1..6] of integer = (20,21,22,21,20,25);
var
i2 : array[1..6] of integer;
i,j : Integer;
done : Boolean;
s: String;
begin
i2[1] := i1[1];
for i := low(i1) 1 to high(i1) do
begin
i2[i] := i1[i];
done := False;
j := 1;
repeat
if i2[j] = i2[i] then
begin
i2[i] := i2[i] 1;
j := 1;
end
else
begin
inc(j);
if j >= i then
done := True;
end;
until done;
end;
s := '';
for i := low(i1) to high(i1) do
s := s IntTostr(i1[i]) ',';
s := s Chr(13);
for i := low(i2) to high(i2) do
s := s IntTostr(i2[i]) ',';
showmessage(s);
end;
</textarea>
------
Fishman |
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
===================引 用 Fishman 文 章=================== <textarea class="delphi" rows="10" cols="60" name="code">procedure TForm1.Button1Click(Sender: TObject); const i1 : array[1..6] of integer = (20,21,22,21,20,25); var i2 : array[1..6] of integer; i,j : Integer; done : Boolean; s: String; begin i2[1] := i1[1]; for i := low(i1) 1 to high(i1) do ????begin ???? i2[i] := i1[i]; ???? done := False; ???? j := 1; ???? repeat ????????if i2[j] = i2[i] then ???????? begin ????????????i2[i] := i2[i] 1; ????????????j := 1; ???????? end ????????else ???????? begin ????????????inc(j); ????????????if j >= i then ???????????? done := True; ???????? end; ???? until done; ????end; s := ''; for i := low(i1) to high(i1) do ????s := s IntTostr(i1[i]) ','; s := s Chr(13); for i := low(i2) to high(i2) do ????s := s IntTostr(i2[i]) ','; showmessage(s); end; </textarea><br /> 謝謝榮尊會員教導 i1 : array[1..6] of integer = (20,21,22,21,20,25); ----->倘若把 ( ) 括號內數字轉換成 字串變數,是否等於 可以任一6個號碼??? |
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
<textarea class="delphi" rows="10" cols="60" name="code">
procedure TForm1.Button1Click(Sender: TObject);
var
i1,i2 : array[1..6] of integer;
i,j : Integer;
done : Boolean;
s: String;
begin
Randomize();
for i := 1 to 6 do
begin
i1[i] := Random(10);
end;
i2[1] := i1[1];
for i := low(i1) 1 to high(i1) do
begin
i2[i] := i1[i];
done := False;
j := 1;
repeat
if i2[j] = i2[i] then
begin
i2[i] := i2[i] 1;
j := 1;
end
else
begin
inc(j);
if j >= i then
done := True;
end;
until done;
end;
s := '';
for i := low(i1) to high(i1) do
s := s IntTostr(i1[i]) ',';
s := s Chr(13);
for i := low(i2) to high(i2) do
s := s IntTostr(i2[i]) ',';
showmessage(s);
end;
</textarea>
------
Fishman |
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
|
fatmoon1
初階會員 發表:3 回覆:29 積分:36 註冊:2004-05-24 發送簡訊給我 |
|
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |