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.а вообще правильнее создать еще один массив и переписать туда нужные элементы - куда меньше операций, циклов и затрат памяти. Массив не предназначен для "удаления" элементов в нем