begin Write('Количество элементов массива: '); ReadLn(N); for I := 1 To N Do begin Write('Введите A[', I, '] ');ReadLn(A[i]); end;
i := 1; while (i <= n) do if (A[i] >= 100) and (A[i] <= 999) and (A[i] mod 2 = 0) and (A[i] mod i = 0) then begin for j := i + 1 to n do A[j - 1] := A[j]; n := n - 1 end else i := i + 1;
Var A: array [1..100] of Integer; N, i, j, k: Integer;
begin Write('Количество элементов массива: '); ReadLn(N); k := 0;
for i := 1 To N Do begin Write('A[', I, '] = '); ReadLn(A[i]); {A[i] := Random(100) - 50; write(A[i], ' ');} if A[i] < 0 then k := i; end; writeln;
{фильтр, если нет отрицательных} if k = 0 then begin write('Отрицательных элементов нет'); halt; end;
writeln('Удаление отрицательных элементов'); k := 1; while (n > 0) and (k <= n) do begin if A[k] < 0 then begin for i := k to n - 1 do A[i] := A[i + 1]; n := n - 1; end else k := k + 1; end;
for i := 1 To N Do write(A[i], ' '); end.
а вообще правильнее создать еще один массив и переписать туда нужные элементы - куда меньше операций, циклов и затрат памяти. Массив не предназначен для "удаления" элементов в нем
ответ на вопрос во вложении.