Решить по информатике точнее написать программу!

veip0 veip0    1   10.03.2019 00:20    0

Ответы
малинка188 малинка188  24.05.2020 13:07

Program Olimp4(input);
Uses CRT;
Var x,y:array [1..100] of integer;
a,n,m,i,j,k,max,sum,msum:integer;
Begin
ClrScr;
Assign(input,'input.txt');Reset(input);
randomize;
{Вввод данных из файла}
readln(n);
for i:=1 to n do read(x[i]);
readln;
readln(m);
for j:=1 to m do read(y[j]);
for k:=1 to 10000 do begin
sum:=0; i:=1; j:=1;
{Пока сумма не отрицательна и кучки не закончились}
while (sum>=0) and (i<=n) and (j<=m) do
begin
{Случайное число 0,1}
a:=random(2);
{Если 0, то выбор из первой кучки, если 1, - то из второй}
if (a=0) then begin
{Подсчет суммы}
sum:=sum+x[i];
i:=i+1;
end
else begin
{Подсчет суммы}
sum:=sum+y[j];
j:=j+1;
end;
{Максимальная сумма}

if sum>msum then msum:=sum;
end;
{Закончилась вторая кучка, продолжаем брать из первой}

if i<=n then begin
while i<=n do begin
{Подсчет суммы}
sum:=sum+x[i];

{Если сумма отрицательна, то выход из цикла}
if sum<0 then i:=n+2;

{Максимальная сумма}

if sum>msum then msum:=sum;
inc(i);
end;

ПОКАЗАТЬ ОТВЕТЫ
zarinadmitrievI zarinadmitrievI  24.05.2020 13:07

Program Olimp4(input); 
Uses CRT; 
Var x,y:array [1..100] of integer; 
a,n,m,i,j,k,max,sum,msum:integer; 
Begin 
ClrScr; 
Assign(input,'input.txt');Reset(input); 
randomize; 
{Вввод данных из файла} 
readln(n); 
for i:=1 to n do read(x[i]); 
readln; 
readln(m); 
for j:=1 to m do read(y[j]); 
for k:=1 to 10000 do begin 
sum:=0; i:=1; j:=1; 
{Пока сумма не отрицательна и кучки не закончились} 
while (sum>=0) and (i<=n) and (j<=m) do 
begin 
{Случайное число 0,1} 
a:=random(2); 
{Если 0, то выбор из первой кучки, если 1, - то из второй} 
if (a=0) then begin 
{Подсчет суммы} 
sum:=sum+x[i]; 
i:=i+1; 
end 
else begin 
{Подсчет суммы} 
sum:=sum+y[j]; 
j:=j+1; 
end; 
{Максимальная сумма} 

if sum>msum then msum:=sum; 
end; 
{Закончилась вторая кучка, продолжаем брать из первой} 

if i<=n then begin 
while i<=n do begin 
{Подсчет суммы} 
sum:=sum+x[i]; 

{Если сумма отрицательна, то выход из цикла} 
if sum<0 then i:=n+2; 

{Максимальная сумма} 

if sum>msum then msum:=sum; 
inc(i); 
end;

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика