// PascalABC.NET
begin
var n := ReadInteger('n =');
var a := ArrRandom(n, -99, 99);
a.Println;
var (max, predmax) := (a[0], a[0]);
for var i := 1 to a.High do
if a[i].IsEven then
if a[i] > max then (max, predmax) := (a[i], max)
else if (a[i] > predmax) and (a[i] <> max) then predmax := a[i];
Print(predmax, max)
end.
Объяснение:
Насколько я понял, предмаксимальное число не может быть равно максимальному, даже если в массиве два и более максимальных элементов. Если это не так, удалите условие and (a[i] <> max)