一心爱霞 发表于 2017-11-25 19:50:56

学习19课冒泡排序的时候遇到的问题

本帖最后由 一心爱霞 于 2017-12-2 13:34 编辑

完成之后, 输入 2 1或者3 1 之类的就不正常, 输入 3 2 1 呢就会不显示1,问题多多,折腾半下午了就是发现不了哪里有问题,特别是 输入俩数字 2 1或者 5 1啊肯定能出现这个状况   求指教,问题出在哪里, 裸求{:10_266:}    看了后面课程,学着下断点,自己解决了

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    Label1: TLabel;
    procedure BitBtn1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;

implementation
//var

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
num: Array of Integer;
t: Integer;
str: String;
i: Integer;
temp: String;
m, j, k, n: Integer;

begin
str:= Trim(Edit1.Text);//去除左右空格
i:= 1;
t:= 1;
While ( i < Length(str) ) do
begin
    While ( (str <> #32) And (str <> #0) ) do
    begin
      temp:= temp + str;
      i:= i + 1;
    end;
    i:= i + 1;
    num:= StrToInt(temp);
    t:= t + 1;
    showmessage(inttostr(t));
    showmessage(temp);
    temp:= '';
end;



For m:= 1 to t - 1 do
begin
    k:= t - m;
    For j:= 1 to k do
    begin
      If (num < num) then
      begin
      n:= num;
      num:= num;
      num:= n;
      end;
    end;
end;
Edit1.Text:= '';
For m:= t - 1 Downto 1 do
    Edit1.Text:= Edit1.Text + IntToStr(num) + ' ';

end;

end.

一心爱霞 发表于 2017-11-26 09:41:52

29个人 看 就没有一个回复的么{:10_266:}

Rogue1986 发表于 2017-12-15 23:44:12

我就想知道你的窗体背景栏是咋弄的

gears 发表于 2017-12-21 17:24:42

同样是做了一下午 没有做出来{:10_247:}

gears 发表于 2017-12-21 17:25:58

我还是做得1.0版本 看小甲鱼的代码可以读懂 按自己思路写就不对了

gears 发表于 2017-12-23 14:11:29

这个我解决了 {:5_95:}
页: [1]
查看完整版本: 学习19课冒泡排序的时候遇到的问题