
28.12.2009, 20:13
|
Прохожий
|
|
Регистрация: 28.12.2009
Сообщения: 8
Репутация: 10
|
|
Помогите! возникает ошибка Invalid floating point operation
задание:
Создать функцию, вычисляющую количество заданных элементов в одномерном массиве.
Текст моей программы:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
mas=array[1..100] of real;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
var i,n:integer;
begin
randomize;
n:=StrToInt(Edit1.Text)+1;
StringGrid1.RowCount:=n;
for i:=1 to n-1 do stringgrid1.Cells[0,i]:=Floattostr(random(10));
end;
function kolvo(b: mas; a: real): real;
var k,n,i: integer;
begin
k:=0;
for i:=1 to n-1 do
begin
if b[i]=a then k:=k+1;
end;
kolvo:=k;
end;
procedure TForm1.Button1Click(Sender: TObject);
var b: mas;
a: real;
n,i: integer;
begin
a:=StrToFloat(Edit2.Text);
n:=StrToInt(Edit1.Text)+1;
for i:=1 to n-1 do b[i]:=StrToFloat(stringgrid1.cells[0,i]);
label1.Caption:=FloatToStr(kolvo(b,a));
end;
end.
lmikle: Пользуемся тегами!
|