Удалить первый отрицательный элемент - 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.
Объяснение кода листинга программы
- Создается переменная
a
типаarray[1..10] of integer
. Это означает, что создается массив из 10 целых чисел. - Задаются три переменные:
n
,i
иp
. Переменнаяn
устанавливается равной 10, а переменныеi
иp
инициализируются нулевыми значениями. - Выводится сообщение
Исходный массив
. - Запускается цикл
for i:=1 to n do
, который выполняется 10 раз (отi
от 1 доn
). - Внутри цикла генерируется случайное число в диапазоне от 0 до 100 с помощью функции
random(101)
. Это число присваивается переменнойa[i]
. - Выводится значение
a[i]
с помощью функцииwrite(a[i]:4)
, где4
- это количество знаков после запятой. - После завершения внутреннего цикла выводится символ новой строки (
writeln
). - Задается переменная
p
равной 0. - Запускается внешний цикл
while (i<=n)and(p=0) do
, который будет выполняться до тех пор, пока значение переменнойi
меньше или равно значению переменнойn
и значение переменнойp
равно 0. - Если условие истинно, то значение переменной
p
устанавливается равным значению переменнойi
. Если условие ложно, то значение переменнойi
увеличивается на 1. - После завершения внешнего цикла выводится сообщение
В массиве нет отрицательных элементов
, если значение переменнойp
равно 0. - Если значение переменной
p
равноn
, то значение переменнойn
уменьшается на 1. - Если значение переменной
p
не равноn
, то выполняется блок кода, который перебирает индексы отp
доn-1
и присваивает значениеa[i]
значениюa[i+1]
. Затем значение переменнойn
уменьшается на 1. - После завершения внутреннего цикла выводится сообщение
Удаление первого отрицательного
. - Выводится значение каждого элемента массива
a
с помощью функцииwrite(a[i]:4)
, гдеi
- это индекс элемента. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д