Удалить из массива первый элемент, кратный 3 - Pascal ABC
Формулировка задачи:
Дан одномерный целочисленный массив из N элементов. Удалить из него первый элемент массива, кратный 3
Решение задачи: «Удалить из массива первый элемент, кратный 3»
textual
Листинг программы
//ввод размера и элементов массива
....................
k=0;
i:=1;
while(i<=n)and(k=0) do
if a[i] mod 3=0 then k:=i
else inc(i);
if k=0 then writeln('Нет элементов, кратных 3')
else
begin
if k<n then
for i:=k to n-1 do
a[i]:=a[i+1];
dec(n);
//вывод массива
end;
Объяснение кода листинга программы
- В первой строке заданы переменные n и a, которые будут использоваться в программе.
- Затем объявлена переменная k, которая будет использоваться для отслеживания индекса первого элемента, кратного 3.
- Далее объявлена переменная i, которая будет использоваться для итерации по массиву.
- В цикле while выполняется следующая логика: пока i меньше или равно n и k равно 0, выполняется проверка на то, является ли элемент a[i] кратным 3.
- Если элемент кратен 3, то значение k устанавливается равным i.
- Если k равно 0, то выводится сообщение
Нет элементов, кратных 3. - Если k не равно 0, то выполняется следующая часть кода:
- Если k меньше или равно n, то для каждого элемента от k до n-1 происходит следующее: значение a[i] заменяется значением a[i+1].
- Затем значение n уменьшается на 1.
- И, наконец, выполняется вывод массива.