Program Pr1;
uses crt;
var mas:array[1..15] of integer;
i,max,min,b,v:integer;
Begin
clrscr;
for i:=1 to 15 do mas[i]:=random(10);
for i:=1 to 15 do write(mas[i]);
max:=0;
min:=100000;
b:=0;
for i:=1 to 15 do begin
if mas[i]>max then max:=i;
if mas[i]<min then min:=i;
end;
if max>min then for i:=min to max div 2 do begin
v:=mas[max-b];
mas[max-b]:=mas[i];
mas[i]:=v;
b:=b+1;
end
else for i:=max to min div 2 do begin
v:=mas[min-b];
mas[min-b]:=mas[i];
mas[i]:=v;
b:=b+1;
end;
writeln();
for i:=1 to 15 do write(mas[i]);
end.
program z1;
var a,m:integer;
begin
m:=30000;
repeat
read(a);
if (a <> 0) and (a mod 2 = 0) and (a mod 10 <> 2) and (m > a) then m:=a
until a = 0;
writeln(m)
end.
Объяснение:
m равно максимально возможному чётному числу (согласно условию)
Цикл с пост условием:
ввод числа
проверка числа (верно, когда верны все условия):
не 0 (a <> 0) - не является условием окончания последовательности
число чётное (a mod 2 = 0)
число не оканчивается на 2 (a mod 10 <> 2)
число меньше m (m > a)
если проверка пройдена, то переменной m присваивается значение числа
Проверка условия выхода из цикла (a = 0)
Вывод m