Преобразовать матрицы A и B таким образом: если диагональный элемент отрицателен,то все последующие элементы этой строки удвоить- Pascal(Паскаль)

uses crt;
const nmax=20;
type matr=array[1..nmax,1..nmax] of integer;
var n:byte;
procedure Vvod(var a:matr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(50)-20;
end;
procedure Vyvod(var a:matr;s:string);
var i,j:byte;
begin
writeln(s);
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
writeln;
end;
procedure Preob(var a:matr);
var i,j:byte ;
begin
for i:=1 to n do
if a[i,i]<0 then
for j:=i+1 to n do
a[i,j]:=a[i,j]*2;
end;
procedure Summa(var a:matr;b:matr);
var i,j:byte;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=a[i,j]+b[i,j];
end;
var a,b:matr;
begin
clrscr;
repeat
write('Размер матриц до ',nmax,' n=');
readln(n);
until n in [1..nmax];
Vvod(a);
Vvod(b);
Vyvod(a,'Исходная матрица А:');
Preob(a);
Vyvod(a,'Преобразованная матрица А:');
write('Нажмите Enter...');
readln;
Vyvod(b,'Исходная матрица B:');
Preob(b);
Vyvod(b,'Преобразованная матрица B:');
write('Нажмите Enter...');
readln;
Summa(a,b);
Vyvod(a,'Сумма матриц А+B:');
write('Нажмите Enter...');
readln
end.

Leave a Comment

+ 89 = 91