Удалить элемент из массива, сдвинуть все элементы влево, на освободившуюся позицию записать нуль - PascalABC.NET
Формулировка задачи:
Удалить элемент из массива, сдвинуть все элементы влево, на освободившуюся позицию записать нуль. На вход подается число, которое надо удалить.
Решение задачи: «Удалить элемент из массива, сдвинуть все элементы влево, на освободившуюся позицию записать нуль»
textual
Листинг программы
const
N = 20;
type
TVector = array[1..N] of Integer;
procedure PrintArray(A: TVector);
var
I: Integer;
begin
for I := 1 to N do
Write(A[I], ' ');
WriteLn;
end;
var
I, X: Integer;
A: TVector;
begin
Randomize;
for I := 1 to N do
A[I] := Random(50);
PrintArray(A);
Write('X = '); ReadLn(X);
for I := X to N-1 do
A[I] := A[I+1];
A[N] := 0;
PrintArray(A);
end.
Объяснение кода листинга программы
- Объявлены константа N, равная 20, и тип данных TVector, представляющий собой массив целых чисел размером от 1 до N.
- Определена процедура PrintArray, которая выводит элементы массива на экран.
- Задана переменная I типа Integer, которая будет использоваться как счетчик в циклах.
- Задана переменная X типа Integer, которая будет использоваться для хранения номера элемента, который необходимо удалить.
- Задана переменная A типа TVector, которая будет представлять собой массив целых чисел.
- В цикле заполняются элементы массива A случайными числами от 0 до 49.
- Выводится на экран содержимое массива A с помощью процедуры PrintArray.
- Пользователю предлагается ввести номер элемента для удаления.
- В цикле сдвигаются все элементы массива влево от элемента, номер которого хранится в переменной X, до последнего элемента массива.
- На освободившуюся позицию записывается нуль.
- Выводится на экран обновленное содержимое массива A с помощью процедуры PrintArray.