Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Циклы for


Автор: Zlo 12.12.2006, 02:02
Код

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
{$I-}
procedure TForm1.Button1Click(Sender: TObject);
const
D:array[1..6,1..6] of integer=((0,1,5,7,9,108),
                               (1,0,6,4,3,108),
                               (5,6,0,5,108,10),
                               (7,4,5,0,18,3),
                               (9,3,108,18,0,108),
                               (108,108,10,3,108,0));
R:array[1..6,1..6] of integer=((1,2,3,4,5,6),
                               (1,2,3,4,5,6),
                               (1,2,3,4,5,6),
                               (1,2,3,4,5,6),
                               (1,2,3,4,5,6),
                               (1,2,3,4,5,6));
var
i,j,k:integer;

begin
for k:=1 to 6 do begin
  for i:=1 to 6 do begin
    for j:=1 to 6 do begin
        if D[i,j]>D[i,k]+D[k,j] then begin
           D[i,j]=:D[i,k]+D[k,j];
        end;
    end;
  end;
end;

for i:=1 to 6 do begin
  for j:=1 to 6 do begin
      Memo1.Text:=Memo1.Text+' '+IntToStr(D[i,j]);
  end;
  Memo1.Lines.Add('');
end;

end;

end.

Компилятор выдает ошибку на строке 
Код

D[i,j]=:D[i,k]+D[k,j];

Ошибка:"Left side cannot be assigned to"
Что не так? и почему? не могу понять...

Автор: Alexeis 12.12.2006, 02:10
конечно верно будет    
D[i,j]:=D[i,k]+D[k,j];
знак присваивания работает только в одном направлении, это же не С++  smile 

Автор: Zlo 12.12.2006, 02:13
тьфу блин.... не, все прально...
надо было ставить 
Код

{$J+}

Насчет присваивания сори это я опечатался...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)