Как сделать чтобы проверялся весь столбец - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Дан прямоугольный массив А[1..M,1..N]. Получить номера столбцов, элементы которых являются частью последовательности Фибоначчи. как сделать чтобы проверялся весь столбец

Решение задачи: «Как сделать чтобы проверялся весь столбец»

textual
Листинг программы
uses crt;
const n=6; m=4;
function fibonachi(chislo:longint):boolean;
var i,j,k:integer;
begin
  i:=1;
  j:=1;
  k:=1;
  while k<chislo do
  begin
    k:=j+i;
    i:=j;
    j:=k;
  end;
fibonachi:=(chislo=1)or(k=chislo);
end;
var i,j,k,p:integer;
    a:array[1..n,1..m] of integer;
begin
writeln('Введите элементы матрицы по столбцам, в том числе столбцы из чисел Фибоначчи');
for j:=1 to m do
 begin
  writeln('Столбец ',j);
  for i:=1 to n do
   begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
   end;
 end;
clrscr;
writeln('Матрица');
for i:=1 to n do
 begin
  for j:=1 to m do
  write(a[i,j]:4);
  writeln;
 end;
writeln('Номера столбцов из чисел Фибоначчи');
k:=0;
for j:=1 to m do
 begin
  p:=0;
  i:=1;
  while(i<=n)and(p=0) do
  if not fibonachi(a[i,j]) then p:=1
  else i:=i+1;
  if p=0 then
   begin
    k:=1;
    write(j,' ');
   end;
 end;
if k=0 then write('Таких столбцов нет');
end.

Объяснение кода листинга программы

  1. В первой строке кода используется директива uses crt;, которая позволяет использовать функции и структуры, определенные в стандартной библиотеке языка Pascal.
  2. Затем определяются две константы n и m, которые задают количество строк и столбцов матрицы соответственно.
  3. Далее определяется функция fibonachi, которая принимает целое число chislo и возвращает логическое значение true, если число chislo является числом Фибоначчи, и false в противном случае. Внутри функции используются три переменные i, j и k, которые инициализируются значениями 1, 1 и 1 соответственно. Затем в цикле while, который выполняется до тех пор, пока k меньше chislo, обновляются значения переменных i, j и k. После завершения цикла проверяется условие k=chislo и если оно истинно, то возвращается true, иначе возвращается false.
  4. Далее определяется переменная a, которая представляет собой матрицу размером n на m.
  5. В цикле for, который выполняется для каждой строки матрицы, выводится сообщение со столбцом и числами Фибоначчи. Для каждой строки вызывается цикл for, который выполняется для каждого столбца. Если значение элемента матрицы равно числу Фибоначчи, то в p устанавливается значение 1, иначе значение p остается равным 0. Если p равно 0, то выводится номер столбца, иначе выводится номер строки.
  6. В конце кода выводится сообщение, указывающее, есть ли столбцы, состоящие только из чисел Фибоначчи. Если таких столбцов нет, то выводится соответствующее сообщение.

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы