Дан массив p1, р2, … ,р40. найти максимальный из элементов, стоящих на чётных местах. домножить на него все элементы, расположенные до найденного максимального.
// 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.