Массив: Упорядочить ее строки по возрастанию их первых элементов. где ошибка?

Egor_wonder

Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов. Компонент stringgrid
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  const
  max=50;
 type mas2=array[1..max, 1..max] of extended;
var
  Form1: TForm1;
  n, m,i,j:integer;
  a : Mas2;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
n:=3;
m:=3;
edit1.text:=floattostr(n);
edit2.text:=floattostr(m);
stringgrid1.colcount:=m+1;
stringgrid1.rowcount:=n+1;
StringGrid1.Cells[0,0]:='Массив A:';
for i := 1 to n do
begin
stringgrid1.cells[0,i]:=' i= '+inttostr(i);
stringgrid1.cells[i,0]:=' j= '+inttostr(i);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  i,j:integer;
  temp:string;
begin
with stringgrid1 do
  for i := 0 to  RowCount - 1 do
    for j := 1 to ColCount - 1 do
      if StrToInt(cells[i,j])>StrToInt(cells[i,j-1]) then
      begin
        temp:=cells[i,j-1];
        cells[i,j-1]:=cells[i,j];
        cells[i,j]:=temp
      end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
begin
randomize;
  begin
  for j:=1 to strtoint(edit1.Text) do
  for i:=1 to strtoint(edit2.text) do
  stringgrid1.Cells [i,j]:=inttostr(random(max));
  end;
end;
end;
когда нажимаю buttom1 пишет ошибку "i=1" is not a valid integer value
4 ответа

Egor_wonder

в какой строке пишет


Egor_wonder

когда нажимаю buttom1 пишет ошибку "i=1" is not a valid integer value
В TForm1.Button1Clickпока, сделай так
for i := 1 to  RowCount - 1 do


Egor_wonder

так уже выдаёт "j=1" is not a valid integer valueвсё, ребят, спасибо сделал, всё работает))


Egor_wonder

проверил программу , она ж не правильно работает.