// PascalABC.NET 3.3, сборка 1583 от 25.11.2017
// Внимание! Если программа не работает, обновите версию!
begin
var p:=ArrRandom(40,-99,99); p.Println;
// максимум среди четных
var max:=p.Select((v,i)->(v,i)).Where(t->t[1].IsOdd).Max(t->t[0]);
// первый из четных индексов элементов, равных max
var im:=p.IndexesOf(t->t=max).Where(t->t.IsOdd).First;
// домножаем...
for var i:=0 to im-1 do p[i]*=max; p.Println
end.
Пример
63 53 -46 -34 -65 -87 79 71 57 -93 -49 51 -85 -46 -26 -7 53 96 86 38 -9 -91 71 -82 76 69 84 41 81 -11 5 -53 -94 -97 -92 -42 -85 -39 -43 -92
6048 5088 -4416 -3264 -6240 -8352 7584 6816 5472 -8928 -4704 4896 -8160 -4416 -2496 -672 5088 96 86 38 -9 -91 71 -82 76 69 84 41 81 -11 5 -53 -94 -97 -92 -42 -85 -39 -43 -92