Решение задачи с Абрамова №387
Янв 16

Все условия | Условие: Даны натуральное число n, действительная квадратная матрица порядка n, действительные 1 5 ,..., a an+ . Элементы последовательности 1 5 ,..., a an+ домножить на 10, если наибольший элемент матрицы (в предположении, что такой элемент единственный) находится на главной диагонали, и на 0.5 в противном случае. (С.А. Абрамов, Г.Г. Гнездилова,Е.Н. Капустина, М.И. Селюн. Задачи по программированию. - Вологда, 2000. - №387)
program pr387; const n = 10; var m : array[1..n, 1..n] of real; a : array[1..n+5] of real; i, j : integer; b : boolean; max : real; begin // enter data to m randomize; max := 0; writeln('m = '); for i := 1 to n do begin for j := 1 to n do begin m[i, j] := random(256); write(M[i, j]:3:0, ' '); if (m[i, j] > max) then begin max := m[i, j]; b := (i = j); end; end; writeln(''); end; // enter data to a writeln('a = '); for i := 1 to n + 5 do begin; a[i] := random(100); write(a[i]:3:0, ' '); end; writeln(''); writeln('Result = '); for i := 1 to n + 5 do begin if b then a[i] := a[i] * 10 else a[i] := a[i] * 0.5; write(a[i]:3:0, ' '); end; writeln(''); end.