Mi a hiba ebbe a Pascal programba?
A feladat hogy egy tömb minden olyan eleme, amely kisebb vagy egyenlő, mint az első tag az vegye fel a '0'-t. Ez a program viszont Pascalban a (4,5,0,9,3,4,-2) tömböt (0,5,0,9,3,4,0)-ra írja át, nem (0,5,0,9,0,0,0)-ra. Valaki segítene hogy mi a hiba benne?
var n,i:integer;
v:array [1..50] of integer;
begin
readln(n);
for i:=1 to n do
read(v[i]);
for i:=1 to n do
if v[i]<=v[1] then v[i]:=0;
for i:=1 to n do
write(v[i],' ');
end.
Ez:
"if v[i]<=v[1] then v[i]:=0;"
Átírtad az első elem értékét 0-ra. Onnantól kezdve az összes számot a 0-hoz viszonyította, nem a 4-hez.
Mielőtt megváltoztatod az első elem értékét, előbb meg kell azt jegyezni egy változóban.
var n,i,elso:integer;
v:array [1..50] of integer;
begin
readln(n);
for i:=1 to n do
read(v[i]);
elso := v[1] ;
for i:=1 to n do
if v[i]<=elso then v[i]:=0;
for i:=1 to n do
write(v[i],' ');
end.
Meg ez:
"readln(n);"
n honnan kap értéket?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!