Изменить массив, вычеркнув из него все элементы, кратные сумме своих соседей справа и слева - PascalABC.NET
Формулировка задачи:
Заполнить пропуски.
Дан линейный массив. Изменить массив, вычеркнув из него все элементы, кратные сумме своих соседей справа и слева.
Решение задачи: «Изменить массив, вычеркнув из него все элементы, кратные сумме своих соседей справа и слева»
textual
Листинг программы
Type LinMass = array [1..100] of Integer; Var A : LinMass; N, i, j : Integer; begin Write('Количество элементов массива от 3 до 100 n='); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[i]); End; i:=2; while i < n do if A[i] mod (A[i-1]+A[i+1]) = 0 then begin for j:=i to n-1 do A[j]:=A[j+1]; n:=n-1; end else i:= i+1; For I := 1 To n Do write(a[i],' '); end.
Объяснение кода листинга программы
В этом коде:
- Объявляется тип массива
LinMass
и переменнаяA
этого типа. - Задаётся количество элементов массива от 3 до 100 и записывается в переменную
N
. - С помощью цикла
For
происходит ввод элементов массива с помощью функцииReadLn()
. - Переменная
i
инициализируется значением 2, а затем в циклеwhile
проверяется, являются ли элементы массива, кратными сумме своих соседей справа и слева. Если это так, то с помощью циклаfor
элементы сдвигаются вправо, уменьшается значение переменнойn
на единицу и циклwhile
прерывается. Если это не так, то переменнаяi
увеличивается на единицу. - С помощью цикла
For
и функцииwrite()
выводятся элементы массива через пробел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д