Перевести на c++!
const mm = 5;
type mat = array [1..5, 1..5] of real;
{esli max vishe gl diagonali}
procedure pp1(var A: mat; var p: boolean; var imax, jmax: integer);
var i, j: integer;
begin
imax := 1;
jmax := 1;
for i := 1 to mm do
for j :=1 to mm do
begin
if A[i, j] > a[imax, jmax]
then begin
imax := i;
jmax := j
end
end;
p := jmax > imax
end;
{Transponirovat matrix}
procedure pp2(var A: mat);
var i, j: integer;
C: real;
begin
for i := 2 to mm do
for j := 1 to i - 1 do
begin
C := A[i, j];
A[i, j] := A[j, i];
A[j, i] := C
end
end;
{symma elementov str i stlb s index MAX}
procedure pp3(var A: mat; imax, jmax: integer; var S: real);
var i: integer;
begin
s := 0;
for i := 1 to mm do s := s + A[i, jmax] + A[imax, i]
end;
{glav modul}
var S: real;
i, j, imax, jmax: integer;
p: boolean;
const a: mat = ((9, 1, 1, 2, 3),
(4, 6, 7, 8, 4),
(5, 1, 1, 1, 1),
(1, 1, 1, 1, 1),
(1, 1, 2, 1, 1));
begin
writeln('isxodnaya matriza');
for i := 1 to mm do
begin
for j := 1 to mm do write(' ', a[i, j]:8:1);
writeln
end;
pp1(A, p, imax, jmax);
writeln('MAX element: A[', imax, ', ', jmax, '] = ', a[imax, jmax]:0:1);
if p
then begin
pp2(A);
writeln('Transponirovannaya matrix');
for i := 1 to mm do
begin
for j := 1 to mm do write(' ', a[i, j]:8:1);
writeln
end
end
else begin
pp3(A, imax, jmax, S);
writeln('Symma elementov s index MAX elementa = ', s:0:1)
end;
readln
end.
Самые новые вопросы
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.