Показать сообщение отдельно
  #1  
Старый 14.04.2008, 16:43
kobezzza kobezzza вне форума
Прохожий
 
Регистрация: 28.03.2008
Сообщения: 13
Репутация: 10
По умолчанию Плиз хелп с лабой)

Значит задание такое: из элементов двух массивов,которое больше некоторого числа составить третий, вывести его на экран, посчитать колличество элементов, их произведение и чтобы кол-во столбцов в StringGrid динамически менялось от кол-ва элементов третьего массива

Я делал вот так:

Код:
Const
N=10;M=15;Z=25;
var
  Form1: TForm1;
  C: array [1..N] of integer;
  T: array [1..M] of integer;
  B: array [1..Z] of integer;
implementation

{$R *.dfm}

procedure TForm1.goClick(Sender: TObject);
var i,p,d:integer;
    chislo:integer;

begin
  label1.Caption:='';
  label2.Caption:='';
  chislo:=StrToInt(edit1.Text);
  p:=1;
  d:=0;
  for i:=1 to N do
  begin
  C[i]:=1+random(N);
    if (C[i]>chislo) then
      begin
        B[i]:=C[i];
      end;
  end;
  for i:=1 to M do
  begin
    T[i]:=1+random(M);
    if (T[i]>chislo) then
      begin
        B[i+N]:=T[i];
      end;
  end;
  with StringGrid1 do
  begin
    for i:=1 to Z do
    begin
        d:=d+1;
        p:=p*B[i];
        ColCount:=d;
        Cells[i-1,0]:=IntToStr(b[i]);
    end;
    label1.Caption:='Всего элементов: '+IntToStr(d);
    label2.Caption:='Произведение элементов массива: '+IntToStr(p);
  end;
end;
end.

Но в результате в StringGrid выводятся '0',а если прописать условие на фильтрацию этих нулей, то выводятся пустые ячейки((( Помогите плз) Заранее благодарен!
Ответить с цитированием