
Дано пять чисел. Определить максимальное из них.Определить функцию, находящую максимум из двух
различных чисел. Мне нужно сделать эту задачу через процедуру и функцию. Я сделал для функции вот так: 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. А училка говорит что здесь массивы вообще не нужны, и то что функция у меня в задаче не используется. Вопрос как сделать так чтобы функция использовалась. Не могу понять как сделать по другому. ПОЖАЛУЙСТА ПОМОГИТЕ!

Ответы на вопрос

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.



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



Я могу помочь вам с вашей задачей по программированию на языке Pascal. Ваша функция для нахождения максимума из двух чисел верна, но вы не используете ее в основной программе. Вы можете сделать так, чтобы функция использовалась, если вы будете сравнивать каждое число из пяти с текущим максимумом и обновлять его при необходимости. Например, вы можете написать такой код:
Var a: array[1..5] of integer; i, 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); write(a[i], ' '); end; writeln; max := a[1]; for i := 2 to 5 do max := f(max, a[i]); writeln('max = ', max); end.
Этот код сначала заполняет массив пятью случайными числами от 0 до 9 и выводит их на экран. Затем он инициализирует переменную max первым элементом массива и затем перебирает остальные элементы, вызывая функцию f для сравнения каждого элемента с max и присваивая max большее из двух значений. В конце он выводит значение max на экран. Это решение использует функцию f, которую вы написали, и не требует вложенных циклов или дополнительных переменных.
Надеюсь, это поможет вам понять, как решить вашу задачу. Если у вас есть еще вопросы, я рад помочь.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili