Заменить нулями элементы массива, которые расположены между первым минимальным и последним максимальным элементами массива. Паскаль
Answers & Comments
furs1975
//PascalABC.NET 3.1 сборка 1200 begin var n := ReadInteger('n = '); var a := ArrRandom(n, -50, 50); a.Println; var mini := a.IndexMin(); var maxi := a.Max(); maxi := a.FindLastIndex(x -> x = maxi); //ищем последний максимум, если их несколько
Println(mini, maxi); if maxi < mini then Swap(mini, maxi);
for var i := mini + 1 to maxi - 1 do a[i] := 0; a.Println; end.
Answers & Comments
begin
var n := ReadInteger('n = ');
var a := ArrRandom(n, -50, 50);
a.Println;
var mini := a.IndexMin();
var maxi := a.Max();
maxi := a.FindLastIndex(x -> x = maxi); //ищем последний максимум, если их несколько
Println(mini, maxi);
if maxi < mini then Swap(mini, maxi);
for var i := mini + 1 to maxi - 1 do
a[i] := 0;
a.Println;
end.
Verified answer
Программа в приложении ===============