Удалить первый отрицательный элемент - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Заполнить массив из 10 элементов случайными числами в интервале [-50;50]. Вывести массив на экран. Удалить первый отрицательный элемент. Вывести на экран в строку получившийся массив.

Решение задачи: «Удалить первый отрицательный элемент»

textual
Листинг программы
var a:array[1..10] of integer;
    n,i,p:integer;
begin
randomize;
n:=10;
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
  if p=n then n:=n-1
  else
   begin
    for i:=p to n-1 do
    a[i]:=a[i+1];
    n:=n-1;
   end;
  writeln('Удаление первого отрицательного');
  for i:=1 to n do
  write(a[i]:4);
 end;
end.

Объяснение кода листинга программы

  1. Создается переменная a типа array[1..10] of integer. Это означает, что создается массив из 10 целых чисел.
  2. Задаются три переменные: n, i и p. Переменная n устанавливается равной 10, а переменные i и p инициализируются нулевыми значениями.
  3. Выводится сообщение Исходный массив.
  4. Запускается цикл for i:=1 to n do, который выполняется 10 раз (от i от 1 до n).
  5. Внутри цикла генерируется случайное число в диапазоне от 0 до 100 с помощью функции random(101). Это число присваивается переменной a[i].
  6. Выводится значение a[i] с помощью функции write(a[i]:4), где 4 - это количество знаков после запятой.
  7. После завершения внутреннего цикла выводится символ новой строки (writeln).
  8. Задается переменная p равной 0.
  9. Запускается внешний цикл while (i<=n)and(p=0) do, который будет выполняться до тех пор, пока значение переменной i меньше или равно значению переменной n и значение переменной p равно 0.
  10. Если условие истинно, то значение переменной p устанавливается равным значению переменной i. Если условие ложно, то значение переменной i увеличивается на 1.
  11. После завершения внешнего цикла выводится сообщение В массиве нет отрицательных элементов, если значение переменной p равно 0.
  12. Если значение переменной p равно n, то значение переменной n уменьшается на 1.
  13. Если значение переменной p не равно n, то выполняется блок кода, который перебирает индексы от p до n-1 и присваивает значение a[i] значению a[i+1]. Затем значение переменной n уменьшается на 1.
  14. После завершения внутреннего цикла выводится сообщение Удаление первого отрицательного.
  15. Выводится значение каждого элемента массива a с помощью функции write(a[i]:4), где i - это индекс элемента.
  16. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы