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