НЕ получается толком провести сортировку в результате выводит дикие числа - отсортированные. Я так полагаю что сортирует он мусор, который перезаписывает в массив, который ранее выводится.
Подскажите люди де ошибка, если кто знает или сталкивался с этим:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Menus;
type
TForm1 = class(TForm)
Label2: TLabel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
GroupBox2: TGroupBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Label8: TLabel;
Button4: TButton;
MainMenu1: TMainMenu;
Memo1: TMemo;
Memo2: TMemo;
N1: TMenuItem;
Label9: TLabel;
N2: TMenuItem;
Label10: TLabel;
OpenDialog1: TOpenDialog;
procedure Button4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,k,Num,j: Integer;
implementation
{$R *.dfm}
procedure TForm1.Button4Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.N1Click(Sender: TObject);
var
b:array[1..10]of integer;
t:textfile;
sum:Integer;
begin
If OpenDialog1.Execute then
begin
assignfile(t, OpenDialog1.FileName);
reset(t);
end;
While NOT EOF(t) do
begin
read(t,b[i]);
Memo1.Lines.Add(IntToStr(b[i]));
k:=k+1;
Label10.Caption:=IntToStr(k);
end;
CloseFile(t);
for i:=1 to 10 do begin
j:=i;
Num:=b[i];
while (j>0) and (Num<b[j-1]) do
begin
b[j]:=b[j-1];
Dec(j);
end;
b[j]:=Num;
end;
Memo2.Clear;
for i:=1 to 10 do begin
Memo2.Lines.Add(IntToStr(b[i]));
end;
end;
end.
Admin: Пользуемся тегами, иначе последуют санкции!