Pascal - macierz o dowolnych rozmiarach

Odpowiedz Nowy wątek
2006-11-13 17:06
0

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

Pozostało 580 znaków

2006-11-14 19:54
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.

Nie łam się, i tak ktoś zrobił to za ciebie
<hr style="color: #B10C0C; width: 10%; margin-left: 0" />
LUDZIE goto NIE UŻYWA SIĘ WSZĘDZIE GDZIE MOŻNA, TYLKO TAM GDZIE TRZEBA

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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