Здравствуйте!
Помогите пожалуйста с удалением элементов из массива.
Нужно удалить из массива Х, состоящего из n элементов, первые четыре нулевых элемента.
Если использую for I := n downto 1 do удаляются 4 последних нулевых элемента,
а если использую for I := 1 to n do не удаляется 0, если он следует сразу за другим нулём.
Что нужно изменить? Заранее спасибо за помощь.
Код:
procedure TForm1.Button1Click(Sender: TObject);
type massiv=array [1..50] of real;
procedure del_mass(m, kol:integer; var y:massiv);
var i: integer;
begin
for I := m to kol-1 do
y[i]:=y[i+1];
end;
var i, n, k: byte;
x: massiv;
begin
n:=strtoint(edit1.text);
for I := 1 to n do
x[i]:=strtofloat(stringgrid1.Cells[i,0]);
k:=0;
for I := n downto 1 do
begin
if x[i]=0 then
begin
if k>=4 then break
else
del_mass(i,n,x);
k:=k+1;
end;
end;
for I := 1 to n-k do
stringgrid2.cells[i,0]:=floattostr(x[i]);
end;
Admin: Не забываем пользоваться тегами для оформления кода!