type
mass = array of integer;
var
q,w: array of integer;
n,i,k: integer;
z,a,b:real;
function minellemx(p:mass):real;
Var i:integer;
x1:real;
d:integer;
begin
x1 := p[0];
for i := 0 to d-1 do
if p[i] < x1 then x1 := p[i];
minellemx:=x1;
end;
begin
writeln('Введите число эллементов массива X:');
readln(n);
SetLength(q,n);
writeln('Введите эллементы массива X:');
for i := 0 to n-1 do
read(q[i]);
writeln('Введите число эллементов массива Y:');
readln(k);
SetLength(w,k);
writeln('Введите эллементы массива Y:');
for i := 0 to k-1 do
readln(w[i]);
a:= minellemx(q);
b:= minellemx(w);
z := (a - b) / 2;
writeln(z:6:1);
readln;
end.
Так а в чем именно проблема?
Добавить и передавать параметр в функцию.
function f(username: string; age: integer): string;
begin
f := username + ' is ' + IntToStr(age) + ' years old';
end;
begin
writeln(f('Vasya', 20));
end.
В том, что если я возьму в качестве параметра переменную типа integer, то функция не сможет вернуть значение.
Как это связано?
Параметры
это не тип возвращаемого значения
Я о том, что происходит ошибка: “Неверное количество параметров функции”.
Так а в коде что?
Размер же надо еще передать при вызове, а не только объявить в описании функции.
В моём случае так?
a:= minellemx(q,d);
Смотря что такое q и d, и как описана функция.
Советую давать понятные имена переменным )
q- массив в основной программе, а d в максимальное число элементов массива.
В коде выше d это локальная переменная функции (еще и не инициализированная).
А в основной программе размер это видимо n
Да, Вы правы. А можно непосредственно сказать как нужно исправить мою программу, что бы при вызове был передан размер?
Так а проблема в чем именно?
Передавайте те переменные, что существуют в основной программе )
Ну и в функции используйте то, что объявлено в ее параметрах.