-
Fototrend

Új hozzászólás Aktív témák
-
pckownz
őstag
Sziasztok.
Lazarusban tanulok pascal nyelvet, és egy érdekes hibát(?) találtam.
2tömbbe random generált számokat növekvő, majd csökkenő sorrendbe kell elhelyeznünk.function er(a:array of integer):boolean;
var ez:boolean;
begin
i:=0;
repeat
inc(i);
if a[i]<=a[i+1] then ez:=true else ez:=false;
until (i=max-1) or (ez=false);
er:=ez;
end;
Ez az első tömb növekvő sorrendét ellenörző funkciója, ennek a funkció visszatérése alapján küldjük tovább rendezésre ha kell. Ez működik.function mr(b:array of integer):boolean;
var ezz:boolean;
begin
i:=0;
repeat
inc(i);
if b[i]>=b[i+1] then ezz:=true else ezz:=false;
until (i=max-1) or (ezz=false); //????
mr:=ezz;
end;
Ezzel a második tömbünket vizsgáljuk, hogy csökkenő-e.
A max egy 10értékű integer típusú konstans.
Ez a funkció minden esetben FALSE értékkel tér vissza.
Akkor is, ha már átment a rendező algoritmuson, és tökéletes a sorrend.
Viszont ha csak 8-ig futtatom, akkor ugye a 9. elemig vizsgál és TRUE értéket ad vissza. Ha vizsgálja a 10. elemünket is, minden esetben false.Valami ötlet?

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Otthoni AI Workstation (E5-2697 v3, 32GB RAM + 2x RTX 3060 12+12GB VRAM)
- 170 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4090
- 216 - Lenovo Legion Slim 7 (16IRH8) - Intel Core i7-13700H, RTX 4060 (ELKELT)
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4143
- SK Hynix, Samsung és más 16GB DDR4 so dimm 3200MHz modulok számlával, 6 hó garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


