Сформировать динамический массив А из N целых случайных чисел. Удалить из массива нечетные элементы

eleseyko

Составить программу формирования динамического массива А из N целых случайных чисел. Удалить из массива нечетные элементы.По Button1Click StringGrid1 заполняется числами из массива а По Button2Click из StringGrid1 удаляются нечетные элементы
var
  Form1: TForm1;
   a: array of integer;
   n:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var i,n:integer;
 
begin
     n:=StrToInt(edit1.Text);
     StringGrid1.ColCount:=n;
     SetLength(a,n);
     for i:=0 to n-1 do
        begin
          a[i]:=random(50);
          StringGrid1.Cells[i,0]:=IntToStr(a[i]);
        end;
     form1.Height:=138;
     StringGrid1.Visible:=true;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var c,i:integer;
 
b:array of integer;
 
begin
 
for i:=0 to StringGrid1.ColCount-1 do
    StringGrid1.Cols[i].Clear;
 
SetLength(b,n);
 
      for i:=low(a) to high(a) do
        if  (a[i] mod 2 = 0) then
            begin
                inc(c);
                StringGrid1.Cells[c-1,0]:=IntToStr(a[i]);
            end;
end;
Все работает НОПодскажите пожалуйста: в процедуре procedure TForm1.Button2Click(Sender: TObject); есть массив b который никак вроде бы не используется, но если удалить его(а конкретно 29 и 36 строки), то при нажатии на вторую кнопку программа не выполняет свою задачу?
1 ответ

eleseyko

то при нажатии на вторую кнопку программа не выполняет свою задачу?
Она не выполняется по нескольким причинам 1. Сперва нужно нажимать кнопку 1. 2. Переменная с не проинициализирована(изначально не присвоенно значение)