Witam, mam problem z przypisaniem wartości do tablicy, którą przekazałem do procedury. Troszkę się nad tym głowię, ale na razie nic nie wymyśliłem. Może ktoś pomóc?
Z góry dziękuję.
Kod programu:
program pytanieTablica;
uses
crt,UTypes;
var
N:integer;
TabPoints:TPoints;
procedure ReadN(var N:integer);
var
key:char;
begin
repeat
write('Podaj ilosc punktow (N): ');
read(N);
if (N<=0) then
begin
clrscr;
write('N musi byc wieksze od 0! [d - dalej]: ');
repeat
key:=readkey;
until (key='d');
clrscr;
end;
until (N>0);
end;
procedure RandomizingPointsCoordinates(N:integer; var TabPoints:TPoints);
var
i:integer;
begin
for i:=0 to N do
begin
TabPoints[i,0]:=random(2);
TabPoints[i,1]:=random(2);
end;
end;
begin
clrscr;
ReadN(N);
RandomizingPointsCoordinates(N,TabPoints);
repeat until keypressed;
end.
Kod UTypes:
unit UTypes;
interface
//------------------------------------------------------------------------------
// Definicje typów danych
//------------------------------------------------------------------------------
type
TPoint = array[0..1] of Real;
TPoints = array of TPoint;
TRoad = array of Integer;
implementation
end.
-
Korzystam z najnowszego FreePascal-a.
-
Problem tkwi (a przynajmniej tak mi się wydaje) w tym, w jaki sposób próbuję do konkretnych pól tablicy przypisać losowe wartości. Ponieważ komentując for-a w procedurze RandomizingPointsCoordinates wszystko działa.
-
Na koniec chyba najważniejsza informacja, po skompilowaniu i uruchomieniu programu, kiedy podaję dowolne N (np. 5) dostaję "exitcode 201"
Any ideas?