Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2008, 22:17   #1
templllar
 
Регистрация: 13.04.2008
Сообщений: 9
По умолчанию помогите найти ошибку плиииз!

program ex314; uses crt;
const n=7; x1=0; x2=25;

type mas=array[1..n] of integer;
var i:integer;
kol1,kol2:integer;
c:mas;

function f (a:mas):real;
begin f:=ln(a);
end;

procedure g (a:mas; var k1,k2:integer);
begin for i:=1 to n do begin
if f(a) >=0 then k1:=k1+1 else k2:=k2+1; end;
writeln('kol1=',k1); writeln('kol2=',k2);
end;

begin clrscr;

randomize;
for i:=1 to n do
c[i]:=random(x2-x1)+x1;
for i:=1 to n do begin
write(c[i]:4); end;
g(c,kol1,kol2);
readln;
end.
templllar вне форума Ответить с цитированием
Старый 14.04.2008, 22:45   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

function f (a:mas):real;
begin
f := ln(a); - логарифм от массива?
end;

А что должна делать эта программа?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 14.04.2008, 22:54   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Скажите что вас именно интересует, невыходит.
Нет вопросов конкретных, нет ответов.
Alter вне форума Ответить с цитированием
Старый 15.04.2008, 00:30   #4
templllar
 
Регистрация: 13.04.2008
Сообщений: 9
По умолчанию

функция считает логарифм из элементов массива. Она находится в процедуре в кач-ве формального параметра
templllar вне форума Ответить с цитированием
Старый 15.04.2008, 08:32   #5
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

А что не устроило здесь ?

http://www.programmersforum.ru/showthread.php?t=17133

Чтобы передать функцию в качестве параметра ее нужно описать

type
myFunc = function (x:real):real;

В процедуре описываем параметр:

Код:
procedure g (a:mas; var k1,k2:integer; f:myFunc);
begin
    ...
    f(a[i])   { При вызове в функцию передается элемент массива, а не массив}
Берем любую функцию с соответствующими параметрами

Код:
function fff(a:real):real;
begin 
    fff:=ln(a);
end;
Эту функцию можно передать процедуре при вызове:

g (a, k1, k2, fff);
alexBlack вне форума Ответить с цитированием
Старый 15.04.2008, 10:17   #6
templllar
 
Регистрация: 13.04.2008
Сообщений: 9
По умолчанию

спасибо за помощь, попробую
templllar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку Dmitriy Общие вопросы Delphi 4 01.08.2008 23:32
Помогите найти ошибку ( с++ ) JOFRIF Помощь студентам 10 23.05.2008 14:34
Помогите найти ошибку JOFRIF Помощь студентам 8 22.04.2008 14:22
Помогите найти ошибку NeiL Общие вопросы Delphi 7 04.03.2008 07:14
Помогите найти ошибку Рената Паскаль, Turbo Pascal, PascalABC.NET 2 05.01.2008 04:29