Miert nem mukodik (Pascal)?
Csinaltam egy unitot ami tartalmaz egy General eljarast
Procedure General(a:array of integer;h,sz:integer);
begin
randomize;
for i:=0 to h-1 do a[i]:=random(sz);
end;
A unitot megtalalja es nem ir ki semmi hibat.
De viszont nem ad erteket;
Ugyanebbe a unitba egy Kiir eljaras segitsegevel (ami jol mukodik!) kiir h darab 0ast.
Egyszeruen nem ad erteket a tomb elemeinek.Miert?
Asszem sejtem a hibat...
Mivel kell ugy megcsinalni h mukodjon?
Az a: array of integer ilyen deklarációban dinamikus tömböt feltételez, mely elemeit a SetLength függvénnyel állítod be. Célszerű előre lefoglalni egyszerre a tömb hosszát ha tudod, hogy mekkora lesz (ez ugye a h változóban van nálad). Aztán ha az a-ban akarsz értéket visszakapni akkor kell elé a var kulcsszó is.
Valami ilyesmi lenne:
procedure general(var a:array of integer; h, sz:integer);
var
i: integer;
begin
randomize;
for i:=0 to h-1 do a[i]:=random(sz);
end;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!