Пример реализации данной процедуры на языке PascalABC:
program DeleteAfterZero; const N = 5; // Размер массива type TArray = array[1..N] of Integer; var arr: TArray; i: Integer; procedure DeleteAfterZero(var a: TArray); var i: Integer; begin i := 1; while i <= N do begin if a[i] = 0 then begin if i < N then begin // Сдвигаем элементы после нуля for j := i to N - 1 do a[j] := a[j + 1]; end; a[N] := 0; // Обнуляем последний элемент Exit; end; Inc(i); end; end; begin // Инициализация массива arr[1] := 1; arr[2] := 0; arr[3] := 2; arr[4] := 3; arr[5] := 4; // Вывод исходного массива writeln('Исходный массив:'); for i := 1 to N do write(arr[i], ' '); writeln; // Удаляем элемент после нуля DeleteAfterZero(arr); // Вывод измененного массива writeln('Массив после удаления элемента после нуля:'); for i := 1 to N do write(arr[i], ' '); writeln; end.
Эта программа создает массив из 5 элементов и инициализирует его. Затем происходит удаление элемента после нуля (если он есть) с помощью процедуры DeleteAfterZero. Результаты выводятся на экран до и после удаления элемента после нуля.
Пример реализации данной процедуры на языке PascalABC:
program DeleteAfterZero;const
N = 5; // Размер массива
type
TArray = array[1..N] of Integer;
var
arr: TArray;
i: Integer;
procedure DeleteAfterZero(var a: TArray);
var
i: Integer;
begin
i := 1;
while i <= N do
begin
if a[i] = 0 then
begin
if i < N then
begin
// Сдвигаем элементы после нуля
for j := i to N - 1 do
a[j] := a[j + 1];
end;
a[N] := 0; // Обнуляем последний элемент
Exit;
end;
Inc(i);
end;
end;
begin
// Инициализация массива
arr[1] := 1;
arr[2] := 0;
arr[3] := 2;
arr[4] := 3;
arr[5] := 4;
// Вывод исходного массива
writeln('Исходный массив:');
for i := 1 to N do
write(arr[i], ' ');
writeln;
// Удаляем элемент после нуля
DeleteAfterZero(arr);
// Вывод измененного массива
writeln('Массив после удаления элемента после нуля:');
for i := 1 to N do
write(arr[i], ' ');
writeln;
end.
Эта программа создает массив из 5 элементов и инициализирует его. Затем происходит удаление элемента после нуля (если он есть) с помощью процедуры DeleteAfterZero. Результаты выводятся на экран до и после удаления элемента после нуля.