Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Типы   Найти похожие ветки 

 
novi   (2004-02-29 19:35) [0]

Уважаемые мастера! Помогите разобраться с типами, у меня не запускается функция, ругается на тип.

function Count(var s:real):real;
var i: Integer; c: mas;
begin
n:=length(m);
for i:=1 to n-1 do
s:=s + c[i];
s:=s/n-1;
result:= s;
end;

procedure TForm1.N5Click(Sender: TObject);
var sb, s:Real; i:byte;
begin
sb:= m[i].Ball[Count(s)];
Edit1.Text:=FloatToStr(sb);
end;

Заранее благодарю.


 
Palladin ©   (2004-02-29 19:48) [1]

1 количество может быть не целым?
2 индекс точно не целым быть не может


 
Думкин ©   (2004-02-29 19:57) [2]

Да тут есть много на что ругаться.
1. Откуда n?
2. Причем тут length(m) когда c[i]?
3....И вообще.
Гдк ругается? А есть уже где-то Count?.....


 
Petr V. Abramov ©   (2004-02-29 20:23) [3]

А в c: mas; - мусор, но это Вы прочувствуете, когда функция запустится. Или обратите внимание на warning`и


 
Palladin ©   (2004-02-29 20:27) [4]


> Petr V. Abramov © (29.02.04 20:23) [3]

какие там warning"и... человек не может в сообщении об ошибке разобратся... а тут еще warning"и


 
jack128 ©   (2004-02-29 20:32) [5]


> 2 индекс точно не целым быть не может
Если m[i] - объект, то может быть.

А вообще авторы не помешало бы привести объявление ВСЕХ переменных, используемых в коде..


 
novi   (2004-02-29 20:38) [6]

Type Student = record
Fam: String[30];
Ball: Integer;
end;
baza = array of Student;
mas = array [1..100] of Integer;
var
Form1: TForm1;
m : baza ;
f : File of Student ;
n : byte ;
Filename: String[50];


 
Palladin ©   (2004-02-29 20:40) [7]


> novi (29.02.04 20:38) [6]

ну а теперь скопируй сюда все твои сообщения об ошибках и расскажи как ты их понимаешь


 
jack128 ©   (2004-02-29 20:51) [8]


> n:=length(m);
использовать глобальную переменную для хранения длины дин массива - это гениальнное решение ;-)

> Student = record
> Fam: String[30];
> Ball: Integer;
> end;
>


> sb:= m[i].Ball [Count(s)];
Что это??


 
novi   (2004-02-29 21:12) [9]

sb:= m[i].Ball[Count(s)];
Это нахождение среднего балла.


 
jack128 ©   (2004-02-29 21:20) [10]

Ball - это целое число, а ты обращаешься с ним как с массивом


 
YurikGl ©   (2004-02-29 21:21) [11]

У тебя Count возвращает real, а индекс должен быть целым


 
Palladin ©   (2004-02-29 21:22) [12]

ох.. бедняга... абсолютно не соображает что делает...

function СреднийМяч:real;
var
i:integer;
begin
result:=0;
if Length(м)=0 then exit;
for i:=0 to Length(м)-1 do
result:=result+м[i].мяч;
result:=result/Length(м);
end;

будет работать если ты все верно читаешь в свою сверх базу...



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-43835
Mentov
2004-02-22 17:28
2004.03.14
TWebBrowser, проблема со скроллом


1-43577
TestUser
2004-02-27 15:25
2004.03.14
Сообщение и строка


6-43733
Kacnep
2004-01-05 11:49
2004.03.14
Таблицы для поиска компов...


1-43573
Senti
2004-02-27 16:30
2004.03.14
Переключение сигнала на телевизор через TV-OUT


3-43303
dendy
2004-02-12 00:12
2004.03.14
SQL запрос, заглавные и прописные