Описать функцию min(x) для определения минимального элемента вектора х, введя вспомогательную рекурсивную функцию min(k), находящую минимум среди последних элементов вектора х, начиная с k-го — Pascal(Паскаль)

program tg;

Const
  n = 40;

Type
  vector = array [1 .. n] of real;

var
  x: vector;
  i, k: integer;

function max: real;
var
  i: integer;
  m: real;
begin
  m := x[1];
  for i := 2 to n do
    if x[i] > m then
      m := x[i];
  max := m;
end;

function min2(a, b: real): real;
begin
  min2 := b;
  if (a < b) then
    min2 := a;
end;

function min(k: integer): real;
var
  i: integer;
  m: real;
begin
  if (k = n) then
    min := x[k]
  else
    min := min2(x[k], min(k + 1));
end;

begin
  for i := 1 to n do
  begin
    write('X[', i, ']= ');
    readln(x[i]);
  end;
  write('K= ');
  readln(k);

  writeln('MAX= ', max:0:3);
  writeln('MIN(k)= ', min(k):0:3);
  readln;
  readln;

end.

Leave a Comment

14 − 13 =