Показать сообщение отдельно
  #1  
Старый 30.05.2011, 22:10
мистер фримэн мистер фримэн вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 7
Репутация: 10
По умолчанию ошибка в функций

Задание 4: Создать процедуру, вычисляющую количество заданных элементов(чисел) в одномерном массиве.
Задание 5: Создать функцию, вычисляющую количество заданных элементов (чисел)в одномерном массиве.

задание 4 и 5 я решил сделать сразу вместе, через процедуру получилось сделать а вот через функцию никак, выдает ошибку

Код:
procedure chisla (var n:integer; a:array of integer);
begin
 n:=length(a);
 end;

procedure TForm1.Button1Click(Sender: TObject);
 var
 i,n,x:Integer;
    a:array of integer;
begin
  setlength(a,0);
 for i:=0 to StringGrid1.ColCount-1 do
 try
 n:=strtoint(StringGrid1.Cells[i,0]);
 setlength(a,length(a)+1);
 a[high(a)]:=n;
 except
end;
  chisla(x,a);
  label1.Caption:=inttostr(x);
end;


  function chisla2(n:integer):integer;
 var
 i,l,x:Integer;
    a:array of integer;
begin
  setlength(a,0);
 for i:=0 to 100 do

 try
 l:=a[i];
 setlength(a,length(a)+1);
 a[high(a)]:=l;
 except
end;
  n:=a[high(a)];
  result:=n
  end;


 procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Caption:=inttostr(chisla2(n));
end;

end.

вот сама лаба:
Новая папка (2).rar
Ответить с цитированием