Я буду писать часть предложения, а внизу табличку, чтобы понятнее было))
Набрать 9 литров в первую ёмкость.
1. 9 л 2. 0л (пока что)
Перелить 5 литров во вторую ёмкость.
1.4 л 2. 5л
Из второй ёмкости вылить всю воду
1.4л 2. 0л
И из первой ёмкости перелить во вторую ёмкость оставшиеся 4 литра.
1.0 л 2. 4л
Набрать полную первую ёмкость
1. 9л 2. 4л
И из неё перелить во вторую 1 литр.
1. 8л 2. 5л
Воду из второй емкости вылить
1.8 л 2. 0л
И из 8 литров воды в первой ёмкости перелить во вторую ёмкость 5 литров
1. 3л 2. 5л
Вот и все!!
program z1;
const n=8;
var a:array [1..n] of integer;
i,m: integer;
begin
writeln ('Результаты заплыва: ');
for i:= 1 to n do
begin
write(i,'-й: ');
readln(a[i])
end;
writeln;
m:=a[i];
for i:= 1 to n do
if a[i]<m then m:=a[i];
writeln('Лучший: ',m)
end.
program z2;
const n=12;
var a:array [1..n] of integer;
i,m: integer;
begin
writeln ('Массив: ');
for i:= 1 to n do
begin
write(i,'-й элемент: ');
readln(a[i])
end;
writeln;
m:=a[i];
for i:= 1 to n do
if a[i]>m then m:=a[i];
writeln('Максимальный: ',m)
end.
Объяснение:
Сначала вводим элементы массива.
Затем предполагаем, что первый элемент наименьший (1 задача) или наибольший (2 задача). Потом сравниваем элементы массива с переменной, в которую записали первый элемент, и меняем переменную, если условие срабатывает. Выводим результат на экран.
var
i,j,k:byte;
a:array[1..10,1..10] of byte;
begin
for k:=1 to 100 do
begin
i:=(k-1)div10+1;
j:=k mod 10;
if j=0 then j:=10;
a[i,j]:=i*j;
Write(a[i,j],' ')
end
end.
А вот современное решение, вообще без циклов:
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=MatrGen(10,10,(i,j)->(i+1)*(j+1));
a.Rows.SelectMany(x->x).Println
end.
В обоих случаях вывод выглядит так:
1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100