помогите передалать программу из функции под процедуру

Ответить
domenik
Сообщения: 3
Зарегистрирован: 24 фев 2014, 22:20

25 фев 2014, 00:58

type mas=array of integer;
var X,Y:mas;
m,n,i,Xmax,Ymin:integer;
Z:real;
function func(A:mas;k:integer):integer;
var max,min:integer;
begin
max:=0;min:=0;
for I := 1 to k do
begin
if max<A then
max:=A;

if min>A then
min:=A
end;
if k=n then
func:=max
else
func:=min;
end;

begin
write('vedite dlinu massiva X=');readln(n);
write('vedite dlinu massiva Y=');readln(m);
Setlength(X,n);
for I := 1 to n do
begin
X:=1+random(100);
write(X,' ');
end;
writeln;
setlength(Y,m);
for I := 1 to m do
begin
Y:=1+random(100);
write(Y,' ');
end;
writeln;
Z:=(func(X,n)-func(Y,m))/2;
writeln('Z=',Z:10:4);
readln;
end.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

25 фев 2014, 22:14

1. Заменить function func(A:mas;k:integer):integer; на procedure func(A:mas;k:integer; result: integer);
2. Внутри заменить func:=max и func:=min на result:=max и result:=min;
3. Z:=(func(X,n)-func(Y,m))/2; заменить на func(X, n, Xmax); func(Y,m,Ymin); Z:=(Xmax-Ymin)/2;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить