![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
задание:
Создать функцию, вычисляющую количество заданных элементов в одномерном массиве. Текст моей программы: Код:
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: Пользуемся тегами! |
|
#2
|
|||
|
|||
|
Ты бы хоть написал - где возникает.
|
|
#3
|
|||
|
|||
|
компилируется нормально, задаю кол-во элементов, задаётся, а когда нажимаю на Button1, то пишет ошибку указанную выше
|
|
#4
|
||||
|
||||
|
Код:
a:=StrToFloat(Edit2.Text); |
|
#5
|
|||
|
|||
|
Ошибка в подпрограмме.
Код:
for i:=1 to n-1 do - объявить n как глобальную - предавать n в подпрограмму или - считывать длину массива Код:
for i:=1 to Length(b) do |
|
#6
|
|||
|
|||
|
спасибо большое, очень помогли
|