Написать рекурсивную процедуру для нахождения номера максимального элемента в одномерном массиве — Pascal(Паскаль)

uses crt;
type mas=array[1..50]of integer;
procedure Max(m:mas;n:integer;var imx:integer);
var i,mx:integer;
begin
if n=1 then imx:=1{если в массиве 1 элемент, номер=1}
 else
  if n=2 then{если 2, то}
    if m[1]>m[2] then imx:=1{если первый больше, то номер=1}
     else imx:=2{если второй, то 2}
  else{иначе}
    begin
     Max(m,n-1,imx);{проверяем все элементы по порядку}
     if m[n]>m[imx] then imx:=n;{если очередной больше всех предыдущих, номер равен его номеру}
   end;
end;
var a:mas;
    m,i,nmax:integer;
begin
clrscr;
randomize;
write('Razmer massiva A m=');
readln(m);
writeln('Massiv A:');
for i:=1 to m do
  begin
    a[i]:=random(20);
    write(a[i],' ');
  end;
writeln;
Max(a,m,nmax);
write('Nomer max=',nmax);
readln
end.

Leave a Comment

19 + = 22