М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
zaharsd
zaharsd
02.01.2022 18:45 •  Информатика

Реши задачу.
Веселые человечки решили сходить в поход.
Пончик испёк для всех пирожки с мясом, яблоками, капустой и повидлом и разложил их по пакетам, кулькам и коробкам.
Пирожков с мясом оказалось 2 коробки, 2 кулька и 8 пакетов.
Пирожков с яблоками — 8 пакетов, 1 кулёк и 3 коробки.
Пирожков с повидлом — 6 кульков и 1 коробка.
Пирожков с капустой — 2 пакета, 1 коробка.
В коробку вмещается 17 пирожков, в пакет — 29, в кулёк — 14.
Сколько всего пирожков испёк Пончик и сколько пирожков было уложено в упаковку каждого вида?

👇
Открыть все ответы
Ответ:
Serey9999
Serey9999
02.01.2022

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;

4,8(64 оценок)
Ответ:
11Sone44ka11
11Sone44ka11
02.01.2022

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;

4,8(90 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ