Держи. Программа написана для PascaABC.net. Что бы изменить количество массива - измени значение в графе const в самом верху программы. Первый отрезок программы (до пустой строчки) - заполнение и вывод массива из случайный значений из промежутка [a,b]. Вторая часть программы(в серединке) нахождение таких элементов массива, которые удовлетворяют условиям задачи - т.к. локальный минимум - в занос индексов этих элементов в новый массив d. Последняя строчка - вывод ответ, если массив с индексами пустой - напишет "не найдено" , а если такие элементы есть, то выведет все индексы на экран.
// PascalABC.NET 3.3, сборка 1583 от 25.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println; var s:=a.Select((v,i)->(v,i)); // последовательность в памяти не хранится var max:=s.Take(3).Max(t->t[0]); var imax:=a.IndexesOf(t->t=max).First; var min:=s.TakeLast(3).Min(t->t[0]); var imin:=a.IndexesOf(t->t=min).Last; Writeln('Максимальный из первых трех - №',imax+1,': ',a[imax]); Writeln('Минимальный из последних трех - №',imin+1,': ',a[imin]); end.
Пример: n= 17 -34 37 26 41 19 24 19 4 -7 -31 5 -23 -40 -40 -31 -28 -12 Максимальный из первых трех - №2: 37 Минимальный из последних трех - №15: -31
CLS
INPUT "a,b=", a, b
S = SQR(a ^ 2 + b ^ 2)
PRINT "S="; S
Тестовое решение:
a,b=3,4
S= 5