Вводятся размеры матрицы, состоящей из целых чисел, и её элементы. С этой матрицей произвести указанные действия и вывести результаты — Pascal(Паскаль)

Если используется \»заданное число\», то оно тоже вводится. Вывести полученные результаты. Составить вектор минимальных чисел Фибоначчи в столбцах матрицы.

const
  nn = 46;

var
  m: array [1 .. 100, 1 .. 100] of integer;
  count: array [1 .. 100] of integer;
  k: array [1 .. 100] of longint;
  fib: array [1 .. nn] of longint;
  b: array [1 .. 100] of boolean;
  i, j, l, n, zc, kol, sum: integer;
  sr: real;

function is_fib(x: integer): boolean;
var
  i: integer;
  result: boolean;
begin
  for i := 2 to nn do
    if x = fib[i] then
    begin
      result := true;
      exit;
    end;
  result := false;
  is_fib := result;
end;

begin
  fib[1] := 1;
  fib[2] := 1;
  for i := 3 to nn do
    fib[i] := fib[i - 1] + fib[i - 2];
  write('Vvedite N (razmer matricy): ');
  readln(n); { считываем размер матрицы }
  for i := 1 to n do
    for j := 1 to n do
    begin
      write('M[', i, ',', j, ']=');
      readln(m[i, j]);
    end; { считываем САМУ матрицу }

  for i := 1 to n do
  begin
    writeln;
    for j := 1 to n do
      write(m[i, j], ' '); { выводим на экран Марицу }
  end;
  writeln;
  writeln;

  for l := 1 to n do { проходим по массиву и ниже вычисляем МИН. ФИБОНАЧИ }
  begin
    k[l] := maxlongint;
    for i := 1 to n do
      if (m[i][l] < k[i]) and is_fib(m[i][l]) then
        k[i] := m[i][l];

  end; { конец поиска МИН. ФИБОНАЧИ }

  for i := 1 to n do
  begin
    writeln('v ', i, '-m stolbze min fib chislo:');
    if k[i] <> maxlongint then
      writeln(k[i]) { выводим на экран МИН.ФИБОНАЧИ }
    else
      writeln('chisel net');

  end;
  readln;
  readln;

end.

Leave a Comment