線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1283
推到 Plurk!
推到 Facebook!

請問如何撰寫檢查 6個號碼中不能有相同號碼出現??

答題得分者是:fatmoon1
K1086
初階會員


發表:63
回覆:148
積分:42
註冊:2007-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-27 11:55:08 IP:220.131.xxx.xxx 訂閱
請問各位delphi高手 如何撰寫一運算數字 6組 例如: 20 21 22 21 20 25 中間不能有重覆號碼
如有重覆號碼自動加一
※ 謝謝版主通知 問題結案訊息 我已經把所有發問的問題結案了 請版主檢查是否正確!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-27 13:57:50 IP:59.124.xxx.xxx 未訂閱
<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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-28 10:55:51 IP:220.131.xxx.xxx 訂閱

===================引 用 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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-30 19:48:49 IP:220.131.xxx.xxx 訂閱
謝謝尊榮會員解決問題!
i1 : array[1..6] of integer = (20,21,22,21,20,25);
請問 假如(20,21,22,21,20,25) 括號內的號碼是不確定的, 程式要增加那段,或是改變那裡及是否要在var加對應變數?請麻煩再教導小弟OK???
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-05-01 08:15:21 IP:59.124.xxx.xxx 未訂閱
<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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-05-02 16:11:06 IP:220.131.xxx.xxx 訂閱
謝謝尊榮會員不吝指導....非常感謝您
小弟的意思是要( )括號內的號碼由,自己程式控制所選定的 6 個號碼,傳入陣列變數,然後再由你所撰寫那段去判斷 6 個號碼不能有重覆,若重覆自動加 1 是這個意圖,====>>請原諒小弟沒說清楚<<=======
例如:自撰程式 篩選出 6 個號碼 12 22 22 24 24 25 把這 6 個號碼 copy 到 陣列變數‧
============>>以上問題是否可以再度請教 尊榮會員??? 謝謝!
fatmoon1
初階會員


發表:3
回覆:29
積分:36
註冊:2004-05-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-05-03 11:10:42 IP:61.63.xxx.xxx 訂閱
要改成 自己程式控制所選定的 6 個號碼,傳入陣列變數 建議如下

//Randomize();
//for i := 1 to 6 do
// begin
// i1[i] := Random(10);
// end;

改成
i1[1]:=自選號1;
i1[2]:=自選號2;
i1[3]:=自選號3;
i1[4]:=自選號4;
i1[5]:=自選號5;
i1[6]:=自選號6;

------
才疏學淺
K1086
初階會員


發表:63
回覆:148
積分:42
註冊:2007-04-09

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-05-03 15:12:13 IP:220.131.xxx.xxx 訂閱
感謝 Fatmoon1 提供解決問題 也非常感謝 尊榮會員 先前教導
問題總算 ok 了 小弟會再努力向前學習
系統時間:2024-05-16 16:42:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!