Pascalban generálok 1 tömböt majd alája kikel íratni a tömböt úgy hogy az utlósó elemet megcserélem a legnagyobbal. Csak az a gond hogy nekem nem cseréli meg hanem átírja. Valaki megmutatna hogyan tudnám megcserélni a 2 tőt?
program tomb;
uses crt;
var i,j,max,n,csere : integer;
a : array[1..10] of integer;
begin
clrscr;
repeat
write('Adja meg a tomb meretet: ');
readln(n);
until (n>0) and (n<11);
writeln;
max:=-10;
randomize;
for i:= 1 to n do begin
a[i]:=random(9)+1;
write(a[i]:2);
if max<a[i] then max:=a[i];
end;
writeln;
for i:= 1 to n do begin
if a[i]=max then
csere:=a[n];
a[n]:=max;
csere:=a[i];
end;
for i:= 1 to n do begin
write(a[i]:2);
end;
readln;
end.
Aki foglalkozik vele előre is köszönöm.
2 dolog:
if a[i]=max then
csere:=a[n];
a[n]:=max;
csere:=a[i];
ezek szerintem egybe tartoznak, nem tettél begin end; -et
másik: ugyanitt nem csere:=a[i]; hanem
a[i]:=csere;
elég primitív hibák, nem tudom, hogy félrenézted -e, vagy kezdő vagy.
tehát a helyes teljes kód:
program tomb;
uses crt;
var i,j,max,n,csere : integer;
a : array[1..10] of integer;
begin
clrscr;
repeat
write('Adja meg a tomb meretet: ');
readln(n);
until (n>0) and (n<11);
writeln;
max:=-10;
randomize;
for i:= 1 to n do
begin
a[i]:=random(9)+1;
write(a[i]:2);
if max<a[i] then max:=a[i];
end;
writeln;
for i:= 1 to n do
begin
if a[i]=max then
begin
csere:=a[n];
a[n]:=max;
a[i]:=csere;
end;
end;
for i:= 1 to n do
begin
write(a[i]:2);
end;
readln;
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!