Удалить те элементы массива, которые кратны заданному числу 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д