2. Задан одномерный массив. Преобразуйте его элементы по следующему правилу: из всех положительных элементов вычесть элемент с номером k, ко всем отрицательным добавить введенное число x. Нулевые элементы оставьте без изменения.
За основу возьём программу из примера 7.1. Объявим дополнительные две переменные k
и x
, в которые мы будем записывать номер элемента для его вычитания из положительных элементов массива и число, которое будет прибавляться ко всем отрицательным элементам массива. Сделаем проверку на то, что k
больше n
, ведь если пользователь введёт k
больше n
, мы не сможем получить элемент на позиции k
, т.к. его не будет существовать.
var a: array[1..20] of integer;
n, k, x: integer;
begin
write('Количество n =');
readln(n);
writeln('Элементы массива');
for var i := 1 to n do
read(a[i]);
write('Номер элемента массива k =');
readln(k);
if k > n then
writeln('k не может быть меньше n')
else
begin
write('Число x =');
readln(x);
for var i := 1 to n do
begin
if a[i] > 0 then
a[i] := a[i] - a[k]
else if a[i] < 0 then
a[i] := a[i] + x;
end;
writeln('Преобразованный массив');
for var i := 1 to n do
write(a[i], ' ');
end;
end.