數字比較 |
答題得分者是:supman
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
sl@cableplus.com.cn
高階會員 ![]() ![]() ![]() ![]() 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
supman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
最簡單的排序法,氣泡式排序法,排序法的方式很多,您可以去看看一些資料結構的書上都有.
procedure TForm1.Button1Click(Sender: TObject);
var
Source:String;
Exchange:char;
Len,i,j:integer;
begin
Source:='zdqwef';
Len:=Length(Source);
for j:= 1 to Len do
for i:= 1 to Len-1 do
if (source[i] > source[i 1]) then
begin
exchange := source[i]; //swap
source[i] := source[i 1];
source[i 1] := exchange;
end;
showmessage(source);
end;
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject); var Source:String; Exchange:char; Len,i,j:integer; begin Source:='zdqwef'; Len:=Length(Source); for j:= 1 to Len do for i:= 1 to Len-1 do if (source[i] > source[i 1]) then//請問source[i] 的含意 begin exchange := source[i]; //swap<-----請問swap 的含意 source[i] := source[i 1]; source[i 1] := exchange; end; showmessage(source); end;小弟有點看不明白.不好意思 請問supman假設我有20個數字要進行比較,我該如何定意呢..謝謝回答 |
supman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
if (source[i] > source[i 1]) then//請問source[i] 的含意
Source[i]就是表示Source字串中的第i個字元
exchange := source[i]; //swap<-----請問swap 的含意
swap表示交換的意思 小弟有點看不明白.不好意思
請問supman假設我有20個數字要進行比較,我該如何定意呢..謝謝回答 將Source String的定義改為integer陣列 前面的Source:='zdqwef';就是表示您要排序的資料,排完後的結果就會變成defqwz
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
supman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您如果要排序就需使用陣列,上面所寫的程式雖然是字串,只要改一改就能達到您的需求.
改成int型態後如下:
procedure TForm1.Button1Click(Sender: TObject); var Source:Array[0..10] of integer; Len,i,j,Exchange:integer; Result : String; begin Source[0]:=5;Source[1]:=2;Source[2]:=4;Source[3]:=8; Len:=Length(Source); for j:= 0 to 3 do for i:= 0 to 3 do if (source[i] > source[i 1]) then begin exchange := source[i]; source[i] := source[i 1]; source[i 1] := exchange; end; for i:=0 to 3 do Result:=Result IntToStr(Source[i]); showmessage(Result); end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |