Вставить элемент, равный номеру вашего компьютера, после первого отрицательного элемента - Pascal ABC
Формулировка задачи:
Заполнить массив из 10 элементов случайными числами в интервале [-50;50]. Вывести массив на экран. Вставить элемент, равный номеру вашего компьютера (11!!!), после первого отрицательного элемента. Вывести на экран в строку получившийся массив.
Решение задачи: «Вставить элемент, равный номеру вашего компьютера, после первого отрицательного элемента»
textual
Листинг программы
var a:array[1..11] of integer;
k,n,i,p:integer;
begin
randomize;
n:=10;
k:=11;
writeln('Исходный массив');
for i:=1 to n do
begin
a[i]:=-50+random(101);
write(a[i]:4);
end;
writeln;
p:=0;
i:=1;
while (i<=n)and(p=0) do
if a[i]<0 then p:=i else inc(i);
if p=0 then write('В массиве нет отрицательных элементов')
else
begin
n:=n+1;
for i:=n downto p+2 do
a[i]:=a[i-1];
a[p+1]:=k;
writeln('Вставка числа ',k,' после первого отрицательного');
for i:=1 to n do
write(a[i]:4);
end;
end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- a: массив целых чисел размером от 1 до 11.
- k: номер компьютера, который будет вставлен в массив.
- n: количество элементов в исходном массиве.
- i: индекс текущего элемента в массиве.
- p: индекс первого отрицательного элемента в массиве.
Сначала генерируется случайное число от 0 до 100 для каждого элемента массива. Затем выводится исходный массив.
Далее, в цикле while проверяется, есть ли в массиве отрицательные элементы. Если таких элементов нет, то выводится сообщение
В массиве нет отрицательных элементов. Если же такие элементы есть, то увеличивается значение переменной i, пока не будет найден первый отрицательный элемент. Затем, в цикле for сдвигается содержимое массива так, чтобы все элементы до i-1 копировались в элементы от i до n. После этого вставляется число k в элемент с индексом i-1. Наконец, выводится вставка числа k после первого отрицательного элемента. Таким образом, данный код выполняет задачу вставки элемента, равного номеру компьютера, после первого отрицательного элемента.