Удалить те элементы массива, которые кратны заданному числу k - Pascal
Формулировка задачи:
Дан список, содержащий натуральные числа. Удалить те его элементы, которые кратны заданному числу k.
Решение задачи: «Удалить те элементы массива, которые кратны заданному числу k»
textual
Листинг программы
const
maxS = 100;
var
a : array [1..maxS] of Integer;
k, i, j, n : Integer;
begin
Write('Число элементов списка (до 100): n = '); ReadLn(n);
WriteLn('Введите через пробел все элементы списка:');
for i := 1 to n do
Read(a[i]);
WriteLn;
WriteLn('Список:'); for i := 1 to n do Write(#32, a[i]); WriteLn;
Write('Удалить из списка числа кратные числу k = '); ReadLn(k);
for i := n downto 1 do
if a[i] mod k = 0 then
begin
dec(n);
for j := i to n do a[j] := a[j + 1];
end;
WriteLn('Список:'); for i := 1 to n do Write(#32, a[i]); WriteLn;
end.
Объяснение кода листинга программы
- Объявляется константа
maxSсо значением 100. - Объявляется переменная
a- массив целых чисел со структурой с 1 поmaxSэлементы. - Объявляются переменные
k,i,j,n- все целочисленные. - Вводится значение переменной
nс клавиатуры, предположительно количество элементов в списке. - Выводится сообщение
Введите через пробел все элементы списка:, и пользователь вводит элементы списка. - Выводится сообщение
Список:и выводятся все элементы списка. - Вводится значение переменной
kс клавиатуры, предположительно число, кратные которому нужно удалить из списка. - Запускается цикл от
nдо 1, и если элемент массиваaкратенk, то:- Уменьшается значение переменной
nна 1. - Запускается цикл для сдвига всех последующих элементов влево.
- Уменьшается значение переменной
- Выводится сообщение
Список:и выводятся все элементы списка после удаления элементов, кратныхk.