Предмет: Информатика,
автор: nasty1399
компоненты ai вектора a... 26 задание, написать программу паскаль
Приложения:

Ответы
Автор ответа:
0
// 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->(i in [1..n-2])and(a[i]>=a[i-1])and(a[i]<=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
begin
var n:=10;
var a:=ArrRandomInteger(n,10,90); a.Println;
var (b,c):=ReadInteger2;
a:=Range(0,n-1).
Select(i->(i in [1..n-2])and(a[i]>=a[i-1])and(a[i]<=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
Автор ответа:
0
Сначала идем по массиву и определяем индексы элементов, подлежащих замене, затем проводим саму замену.
Если нужно воспроизвести приведенный пример, удалите символы // перед оператором //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->boolean:=i->(a[i-1]<=a[i]) and (a[i]<=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
Если нужно воспроизвести приведенный пример, удалите символы // перед оператором //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->boolean:=i->(a[i-1]<=a[i]) and (a[i]<=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
Похожие вопросы
Предмет: Физика,
автор: superalina2020
Предмет: Информатика,
автор: cibulak
Предмет: Литература,
автор: RadmilaLatinova
Предмет: История,
автор: Нерочка
Предмет: Алгебра,
автор: aidai202a