Даны натуральное число n, действительная квадратная матрица n-го порядка, действительные числа (А1,….,Аn+5). элементы данной последовательности (А1,….,Аn+5) умножить на 10, если наибольший элемент матрицы (в предположении, что он единственный) находится на главной диагонали и 0.5 в противном случае. — Pascal(Паскаль)

uses crt;
const nmax=20;
var b:array[1..nmax,1..nmax] of real;
    a:array[1..5] of real;
    n,i,j,imx,jmx:byte;
    mx:real;
begin
clrscr;
randomize;
repeat
write('Размер матрицы до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
mx:=0;imx:=0;jmx:=0;
for i:=1 to n do
 begin
   for j:=1 to n do
    begin
     b[i,j]:=10*random;
     write(b[i,j]:5:2);
     if b[i,j]>mx then
      begin
       mx:=b[i,j];
       imx:=i;
       jmx:=j;
      end;
    end;
   writeln;
 end;
writeln;
writeln('Исходная последовательность А:');
for i:=1 to 5 do
 begin
  a[i]:=10*random;
  write(a[i]:5:2);
 end;
writeln;
writeln;
writeln('Максимальный элемент b[',imx,',',jmx,']=',b[imx,jmx]:0:2);
if imx=jmx then
 begin
  writeln('Максимальный элемент на главной диагонали!');
  for i:=1 to 5 do
  a[i]:=a[i]*10;
 end
else
 begin
  writeln('Максимальный элемент не на главной диагонали!');
  for i:=1 to 5 do
  a[i]:=a[i]*0.5;
 end;
writeln('Последовательность после умножения:');
for i:=1 to 5 do
write(a[i]:0:2,' ');
readln
end.

Leave a Comment

+ 10 = 20