Pascal - macierz o dowolnych rozmiarach

0

Witam, czy wie ktos jak napisac procedure do tworzenia macierzy o dowolnych rozmiarach przy uzyciu listy jednokierunkowej? bede wdziwczny za wszelkie wskazowki.

0

W takim podejściu robisz sobie listę list. Jak chcesz powiedzmy odwołać się do jakiegoś elementu, to przesuwasz się w pierwszej liście o jeden wymiar, a następnie w wewnętrznej o <ort>drógi </ort>wymiar. I wsio.

EDIT:
Na dysku znalazłem "programik" którym udowadniałem kiedyś, że w paskalu też można robić dynamiczne tablice (tutaj typu byte), tyle że na około ;P

program test;

procedure macierz(n,m:byte);
var
 p:pointer;
 a,b:byte;
begin
 getmem(p,n*m);
 for a:=0 to (n*m)-1 do
  mem[seg(p^):ofs(p^)+a]:=a;
 for a:=0 to n-1 do begin
  for b:=0 to m-1 do
   write(mem[seg(p^):ofs(p^)+a*m+b],' ');
  writeln;
 end;
 freemem(p,n*m);
end;

var
 n,m:byte;

begin
 write('podaj rozmiary macierzy: ');
 readln(n,m);
 macierz(n,m);
 readln;
end.

1 użytkowników online, w tym zalogowanych: 0, gości: 1