Имеется задание: составить подпрограмму-функцию для нахождения суммы элементов квадратной матрицы находящихся выше главной диагонали и определить максимальную из указанных сумм для матриц \(X=A^{2}+B^{3}, Y=AA^{T}+BB^{T}\) где А,В - исходные произвольно заданные матрицы размером 5х5
Program kyrs; const Nmax=5; type Matrics=array[1..nmax, 1..nmax] of integer; Masiv=array[1..nmax] of integer; var a,b,a2,b2,b3,at,bt,ata,btb,x,y:matrics; m,n:masiv; i,j,t:integer; sx,sy:real;
Procedure input (var a:matrics); var i,j:integer; begin for i:=1 to 5 do for j:=1 to 5 do begin write ('[',i,',',j,']='); read(a[i,j]); end; for i:=1 to 5 do begin for j:=1 to t do write(a[i,j]); writeln end; end; Procedure umn (a,b:matrics; var a2:matrics); var i,j,k,s:integer; begin for i:=1 to 5 do for j:=1 to 5 do begin s:=0; b:=a; for k:=1 to 5 do s:=s+a[k,i]*b[j,k]; a2[i,j]:=s; end; end; Procedure summa (a,b:matrics; var x:matrics); var i,j:integer; begin for i:=1 to 5 do for j:=1 to 5 do x[i,j]:= a[i,j]+b[i,j]; end;
Procedure over (x:matrics; Var s:real); var z:real; Begin z:=0; for i:= 1 to 4 do for j:= 2 to 5 do s:=z+x[i,j]; Writeln('summa elementov vishe glavnoi diagonali=', s:5); end; Procedure transp(a:matrics; var at:matrics); var i,j:integer; begin for i:=1 to 5 do for j:=1 to 5 do at[i,j]:=a[i,j] end; begin writeln('vvedite elementi matricy a'); input(a); writeln('vvedite elementy matricy b'); input(b);
а вот дальше не пойму как присвоить значение полученное с помошью процедуры к переменной(
a2:=umn[a,a]; b2:=umn(b,b); b3:=umn(b2,b); at:=trans(a); bt:=trans(b); ata:=umn(a,at); btb:=umn(b,bt); x:=summa(a2,b3); y:=summa(ata,btb); sx:=over(x); sy:=over(y); if sx>sy then writeln('max=',sx); else writeln('max=', sy); if sx=sy; then writeln('oni ravni!'); readln; end. end.
№ 1 | Автор: Vogelfrei |
2011-12-11, 20:58 | Изменено: Vogelfrei - Вс, 2011-12-11, 21:23
|
Репутация: [ + 0 ]
|
|
|