
Вопрос задан 25.02.2020 в 18:27.
Предмет Информатика.
Спрашивает Егорова Анастасия.
Компоненты ai вектора a... 26 задание, написать программу паскаль



Ответы на вопрос

Отвечает Галас Діма.
// 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



Отвечает Дуданов Данила.
Сначала идем по массиву и определяем индексы элементов, подлежащих замене, затем проводим саму замену.
Если нужно воспроизвести приведенный пример, удалите символы // перед оператором //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


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili