Вводятся размеры матрицы, состоящей из целых чисел, и её элементы. С этой матрицей произвести указанное действие и вывести результаты. Дей
Условие задачи:Вводятся размеры матрицы, состоящей из целых чисел, и её элементы. С этой матрицей произвести указанное действие и вывести результаты. Действие: удалить из матрицы строки, в которых все элементы являются числами Фибоначчи. Обработку матрицы реализовать в виде процедуры. Проверку числа реализовать в виде функции. Все данные передаются через параметры.
Program PascalGuru; uses crt; type massiv=array[1..50,1..50] of integer;
var A:massiv; {переменная массива} i,j,m,n:integer; {переменные для циклов} {------------------------------------------------------------} function IsFib(n:longint):boolean; {проверка входит ли заданное число в числовую последовательность Фибоначчи} var i,i1,i2:longint; begin if n=1 then IsFib:=true else begin i1:=1;i2:=1; repeat i:=i1+i2; if i=n then IsFib:=true else begin i1:=i2; i2:=i; end; until i>=n; if i>n then IsFib:=false; end; end; {конец функции проверки числа} {------------------------------------------------------------} procedure del_row(var A:massiv; m:integer;var n:integer); label 1; var i,j,k,l:integer; fibo:boolean; begin 1: for i:=1 to n do begin fibo:=true; for j:=1 to m do if not IsFib(A[i,j]) then fibo:=false; if fibo then {усоовие !!! все элементы являются числами Фибоначчи!} begin for k:=i+1 to n do {ниже происходит удаление} for l:=1 to m do A[k-1,l]:=A[k,l]; dec(n); goto 1; end; end; end; {------------------------------------------------------------} begin write('N= '); readln (n); {считываем размер массива} write('M= '); readln (m); {считываем размер массива}
writeln ('Vvedite elementy massiva A: '); for i:=1 to n do for j:=1 to m do begin write ('A[',i,',',j,']='); readln (A[i,j]); end; {считываем элементы массива}
clrscr; write ('Vot vvedennyi vami massiv A: '); for i:=1 to n do begin writeln; for j:=1 to m do write (A[i,j]:4,' '); end; {выводим массив на экран}
writeln;writeln;
del_row(A,m,n); {удаляем через процедуру}
write ('Vot preobrazovannyi A: '); for i:=1 to n do begin writeln; for j:=1 to m do write (A[i,j]:4,' '); end; {выводим массив на экран}