Показать сообщение отдельно
  #1  
Старый 01.06.2010, 14:30
Add_Mod Add_Mod вне форума
Прохожий
 
Регистрация: 08.05.2010
Сообщения: 18
Репутация: 10
Сообщение Чтение из файла и сортировка

НЕ получается толком провести сортировку в результате выводит дикие числа - отсортированные. Я так полагаю что сортирует он мусор, который перезаписывает в массив, который ранее выводится.
Подскажите люди де ошибка, если кто знает или сталкивался с этим:
Код:
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: Пользуемся тегами, иначе последуют санкции!
Ответить с цитированием