Дано пять чисел. Определить максимальное из них.Определить функцию, находящую максимум из...

0 голосов
38 просмотров

Дано пять чисел. Определить максимальное из них.Определить функцию, находящую максимум из двух различных чисел. Мне нужно сделать эту задачу через процедуру и функцию.
Я сделал для функции вот так:
Var
a:array[1..5]of integer;
i,j,max:integer;
function f(a,b:integer):integer;
begin
if a>b then result:=a else result:=b;
end;
begin
for i:=1 to 5 do
begin
a[i]:=random(10);
end;
writeln;
max:=a[1];
for i:=1 to 5 do
for j:=i+1 to 5 do
if f(a[i],a[j])>max then max:=f(a[i],a[j]);
writeln('max=',max);
end.
А училка говорит что здесь массивы вообще не нужны, и то что функция у меня в задаче не используется. Вопрос как сделать так чтобы функция использовалась. Не могу понять как сделать по другому. ПОЖАЛУЙСТА ПОМОГИТЕ!


Информатика (65 баллов) | 38 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

// PascalABC.Net 3.0, cборка 1052
var
  a: integer;
  i, j, max: integer;

function f(a, b: integer): integer;
begin
  if a > b then result := a else result := b
end;

begin
  Randomize;
  max:=-1;
  Write('Набор чисел: ');
  for i := 1 to 5 do
  begin
    a:= random(10);
    Write(a,' ');
    max:=f(max,a)
  end;
  Writeln(#13#10,'Максимальное число равно ',max)
end.

Тестовое решение:
Набор чисел: 6 8 5 1 2
Максимальное число равно 8


(142k баллов)
0 голосов

Может так:
Vara:array[1..5]of integer;
a1,a2,a3,a4,a5,max:integer;
function f(a,b:integer):integer;
begin
if a>b then result:=a else result:=b;
end;
begin
a1:=random(10);
a2:=random(10);
a3:=random(10);
a4:=random(10);
a5:=random(10);
writeln(a1);
writeln(a2);
writeln(a3);
writeln(a4);
writeln(a5);
writeln;
max:=f(a1,a2);
max:=f(max,a3);
max:=f(max,a4);
max:=f(max,a5);
writeln('max=',max);
end.

(1.2k баллов)
0

Вроде бы автор написал, что массива быть не должно...

0

=)