Program Maas; const n=12; var a: array[1..n] of integer; i, sum, sumn: integer; begin write('Массив: '); for i := 1 to n do begin a[i] := random(10); write(a[i], ' '); if i mod 2 = 0 then inc(sum, a[i]) else inc(sumn, a[i]); end; writeln; writeln('Сумма элементов с четными индексами = ', sum); writeln('Сумма элементов с нечетными индексами = ',sumn); end.
1) Допустим, бумагу мы сложим в бак 3. Это будет 83 + 58 = 141. Тогда в бак 2 надо сложить стекло или жесть.
1) а) Допустим, мы в бак 2 сложили стекло. Это будет 52 + 85 = 137. Тогда в бак 1 кладем жесть. Это будет 95 + 75 = 170. Всего 141 + 137 + 170 = 448 перемещений.
1) б) Допустим, мы в бак 2 сложили жесть. Это будет 64 + 75 = 139. Тогда в бак 1 кладем стекло. Это будет 98 + 85 = 183. Всего 141 + 139 + 183 = 463 > 448.
2) Допустим, бумагу мы сложили в бак 2. Это опять 83 + 58 = 141. 2) а) Кладем в бак 3 стекло. Это будет 98 + 52 = 150. Тогда в бак 1 кладем жесть. Это будет 95 + 75 = 170. Всего 141 + 150 + 170 = 461 > 448.
2) б) Кладем стекло в бак 1. Это будет 98 + 85 = 183. Тогда в бак 3 кладем жесть. 64 + 95 = 159 Всего 141 + 183 + 159 = 483 > 448.
3) Положим бумагу в бак 1. Это будет 83 + 83 = 166. 3) а) Положим стекло в бак 2. Это будет 52 + 85 = 137. Тогда жесть пойдет в бак 3. 64 + 95 = 159. Всего 166 + 137 + 159 = 465 > 448.
3) б) Положим стекло в бак 3. Это будет 52 + 98 = 150. Тогда жесть пойдет в бак 2. Это будет 64 + 75 = 139. Всего 166 + 150 + 139 = 455 > 448.
Я рассмотрел все 6 вариантов разложить 3 мусора по 3 бакам. ответ: минимальное количество перемещений равно 448.
Const n=7; type V=array[1..n] of real; procedure mReplace(t:real;var a:V;var k:integer); var i:integer; begin k:=0; for i:=1 to n do if a[i]<t then begin a[i]:=t; Inc(k) end end;
var T:real; i,k1,k2:integer; P,C:V; begin Write('Введите значение T: '); Read(T); Writeln('Введите элементы массива P'); for i:=1 to n do Read(P[i]); Writeln('Введите элементы массива C'); for i:=1 to n do Read(C[i]); mReplace(T,P,k1); mReplace(T,C,k2); if k1>k2 then begin Writeln('Измененнный массив Р'); for i:=1 to n do Write(P[i],' ') end else if k2>k1 then begin Writeln('Измененнный массив C'); for i:=1 to n do Write(C[i],' ') end else Writeln('Число замен в массивах равно ',k1) end.
Тестовое решение: Введите значение T: 0.005 Введите элементы массива P 0.001 1.54 -2.75 0.002 -0.1 1.2 -0.47 Введите элементы массива C -5.74 0.0001 4.1 7.24 -1.5 2.9 0.004 Измененнный массив Р 0.005 1.54 0.005 0.005 0.005 1.2 0.005
const n=12;
var a: array[1..n] of integer;
i, sum, sumn: integer;
begin write('Массив: ');
for i := 1 to n do
begin
a[i] := random(10);
write(a[i], ' ');
if i mod 2 = 0 then inc(sum, a[i])
else inc(sumn, a[i]);
end;
writeln;
writeln('Сумма элементов с четными индексами = ', sum);
writeln('Сумма элементов с нечетными индексами = ',sumn);
end.