Если среди диагональных элементов матрицы есть не менее двух, содержащих цифру 5 и не содержащих цифру 3, заменить наибольшие элементы строк на произведения элементов этих строк
Категория: Delphi/Pascal
2012-03-03 19:13:24
Дана целочисленная матрица {Aij}i=1...n;j=1..n , n меньше или равно 100.
code: #pascal
program PascalGuru; uses crt; type matr=array[1..100,1..100] of integer; var a,x:matr; i,j,k,n:integer; Function Chislo(x:integer):integer; var m,l:integer; begin x:=abs(x); m:=x div 10; l:= x mod 10; if ((m=5) or (l=5)) and (m<>3) and (l<>3) then chislo:=1 else chislo:=0; end; Procedure max( var x:matr); var max1,l:integer; p:longint; begin for i:=1 to n do begin max1:=x[i,1];p:=1;l:=1; for j:=1 to n do begin p:=p*x[i,j]; if max1< x[i,j] then begin max1:=x[i,j]; l:=j; end; end; x[i,l]:=p; end; end; begin clrscr; writeln('введите n'); readln(n); for i:=1 to n do for j:=1 to n do begin read (a[i,j]); end; writeln; writeln('исходная матрица'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:4) ; writeln; end; for i:=1 to n do if chislo(a[i,i])=1 then k:=k+1; if k>=2 then max(a); writeln('результат'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:5) ; writeln; end; readln; end.
Поделиться: