Регистрация Вход
Информатика 5 - 9 классы Opirin
Решено

Компоненты ai вектора a... 26 задание, написать программу паскаль

// PascalABC.NET 3.3 begin   var n:=10;   var a:=ArrRandomInteger(n,10,90); a.Println;   var (b,c):=ReadInteger2;
114
ОТВЕТЫ
// PascalABC.NET 3.3

begin
  var n:=10;
  var a:=ArrRandomInteger(n,10,90); a.Println;
  var (b,c):=ReadInteger2;
  a:=Range(0,n-1).
   Select(i-gt;(i in [1..n-2])and(a[i]gt;=a[i-1])and(a[i]lt;=a[i+1])a[i]*a[i]+b*a[i]+c:a[i]).
   ToArray;
  a.Println;
end.

Пример:
36 26 64 68 81 81 77 72 16 27
2 5
36 26 4229 4765 6728 81 77 72 16 27
Сначала идем по массиву и определяем индексы элементов, подлежащих замене, затем проводим саму замену.
Если нужно воспроизвести приведенный пример, удалите символы // перед оператором //Randomize(1);
В окончательном варианте строку
//Randomize(1); удалите вообще.

PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018
Внимание! Если программа не работает, обновите версию!

begin
  //Randomize(1);
  var (b,c):=ReadInteger2(Введите b и c:);
  var n:=ReadInteger(n=);
  var a:=ArrRandom(n,-50,50); a.Println;
  var f:integer-gt;boolean:=i-gt;(a[i-1]lt;=a[i]) and (a[i]lt;=a[i+1]);
  for var i:=1 to n-2 do if f(i) then a[i]:=c+a[i]*(b+a[i]);
  a.Println
end.

Пример
Введите b и c: 2 -3
n= 20
-25 -39 -3 27 16 -7 -15 45 -40 14 -48 -25 -18 49 18 16 -22 12 21 20
-25 -39 0 27 16 -7 -15 45 -40 14 -48 572 -18 49 18 16 -22 165 21 20
63
Отв. дан
Для написания вопросов и ответов необходимо зарегистрироваться на сайте