Egy érdekes feladat? Lehetséges ez?
SimkoL amúgy az nem volt feltétel, hogy az első szám mindenképp pozitív legyen. Én végülis felhasználva a tiedet ezt készitettem:
program pelda;
var a: array [1..8] of integer;
osszeg,i: integer;
begin
randomize;
for i:=1 to 8 do begin
a[i]:= random(20)-10;
write(a[i],', ');
end;
writeln;
osszeg:=0;
i:=1;
while (a[i]>0) do begin
osszeg:= osszeg+a[i];
Inc(i);
end;
write('Az elso negativ szamig a tombelemek osszege: ',osszeg);
readln;
end.
Első voltam, mondjuk én is a kérdésre válaszoltam.
Ráadásul megkaptál benne mindent ami kellett.
Itt amit írtál nekem nem nagyon tetszik, lehet Pascalban ez jó, de programozás szempontjából nem igazán.
A második ciklusban nincs az i-re terminálási feltétel. Azaz, ha minden elem pozitív, akkor csak pörög a ciklus és i nő. Ez C, C++ nyelvekben simán túlindexeli a tömböt és elkezdi a memória szemetet is beleszámolni.
Szerintem ez már jó, de lehet vannak benne még hibák.
program pelda;
var a: array [1..8] of integer;
osszeg,i,n: integer;
begin
randomize;
n:=random(8)+1;
writeln('A tomb merete: ',n);
randomize;
for i:=1 to n do begin
a[i]:= random(100)-50;
write(a[i],', ');
end;
writeln;
osszeg:=0;
i:=1;
while (a[i]>=0) and (i<9) do begin
osszeg:= osszeg+a[i];
Inc(i);
end;
write('Az elso negativ szamig a tombelemek osszege: ',osszeg);
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!