Ну как-то так
Код:
type
uk=^list;
list=record
i,j:Integer;
next:uk;
end;
var
blist:uk=nil;
И не забывайте, если используются типизированные указатели, то значок ^ можно не писать
Код:
procedure make(var ablist:uk; aI,aJ:Integer);
begin
new(ablist);
ablist.i:=ai;
ablist.j:=aj;
ablist.next:=nil;
end;
//вставка эл-та в конец списка
procedure incertK(ablist:uk);
var
temp:uk;
begin
if(pust(blist))then
begin
blist:=ablist;
exit;
end;
temp:=blist;
while(temp.next<>nil) do
begin
temp:=temp.next;
end;
temp.next:=ablist;
end;
function printspisok(blist:uk):tsring;
begin
if pust(blist) then
begin
Result:='Pustoy';
Exit;
end;
Result:='';
while(blist<>nil)do
begin
Result:=Result+#13#10+ //этот жуткий код-перевод строки
format([blist.i, blist.j]);
blist:=blist.next;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:Integer;
temp:uk;
begin
for i:=1 to n do
begin
for j:=1 to i do
begin
if (StrToInt(sd1.Cells[j,i])=1) then
begin
make(temp,i,j);
incertK(temp);
end;
end;
end;
Label1.caption := printspisok(blist);
end;
end.
function printspisok(ablist:uk):tsring;
begin
if pust(ablist) then
begin
Result:='Pustoy';
Exit;
end;
Result:='';
while(ablist<>nil)do
begin
Result:=Result+#13#10+
format('%d %d,[ablist.i, ablist.j]);
ablist:=ablist.next;
end;
end;