//PascalABC.NET 3.1 сборка 1200
begin
// создаем массив и заполняем случайными числами от -50 до 50
var a := ArrRandom(ReadInteger('n='), -50, 50);
//выводим массив
a.Println;
//находим индекс максимального элемента
var max := a.IndexMax();
// выводим значение макс. элемента и его индекса
writeln('Max = ', a[max], ' Index = ', max);
// заменяем максимальный элемент минимумом
a[max] := -50;
//находим индекс второго максимального элемента (на данный момент уже первого)
max := a.IndexMax;
// выводим значение элемента и его индекса
writeln('Max = ', a[max], ' Index = ', max);
end.