Hogyan programozzak Pascal háromszöget?
00000100000
00001010000
00010201000
00103030100
01040604010
1050A0A0501 (az A az 10, csak szétvitte volna az egészet)
igy kell feltöltened
kell egy tömb n sorral és m oszloppal
m páratlan, mert az első sorban középen kell lennie az 1 nek, n=m*2-1 (az ábrából látszik miért)
az első sor feltöltöd sok 0val, kivéve a középső helyet, ami 1
onnantól kezdve két egymásba ágyazott ciklus, a külső a sort lépteti a belső az oszlopot
oszlop legyen az 'i' a sor a 'j' az oszlop
az (i,j) elemet úgy kapod meg, hogy (i-1,j-1)+(i-1,j+1)
közben figyelni kell, mert ha a 'j' nulla (azaz az első oszlopban vagyunk), akkor (j-1) hibát okozna, tehát nem szabad engedni, olyankor a számításban 0 kerül az érték helyére. ugyanez van, ha j=(m-1) azaz a túlsó végén vagyunk
kb. 10 éve programoztam utoljára pascalt, úgyhogy a szintaxis valószínűleg nem teljesen jó, de ez alapján már meg kell tudnod csinálni.
for i:=1..n-1
for j:=0..m-1
begin
if j=0 then A:=0
else A:=P[i-1,j-1];
if j=m-1 then B:=0
else B:=P[i-1,j+1];
P[i,j]:=A+B;
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!