Подготовить алгоритм или текст программы с минимальным количеством циклов, в котором заштрихованные элементы (индексация начинается от левой верхней ячейки) массива 8х10 заполняются суммой индексов, а остальные элементы - нулями.
Если элемент стоит выше главной диагонали, то его номер столбца больше, чем номер строки. Программа будет такая: PROGRAM Matrix77 var A: array [1..7][1..7] of real; // Объявляем переменные var i, j: integer BEGIN crt; for i:= 1 to 7 do begin for j:=1 1 to 7 do read (A[i][j]); // Вводим начальный массив readln; end; for i:= 1 to 7 do begin // Проверяем, что элемент выше диагонали for j:=1 1 to 7 do if j > i then A[i][j]:=0; // Обнуляем его end; for i:= 1 to 7 do begin for j:=1 1 to 7 do write (A[i][j]); // Выводим конечный массив writeln; end; END.
===== PascalABC.NET =====
begin
var s: array of string := (
'bbbbwwbbbb',
'bbbwwwwbbb',
'bbwwwwwwbb',
'bwwbwwbwwb',
'bwwwbbwwwb',
'bbwwwwwwbb',
'bbbwwwwbbb',
'bbbbwwbbbb');
var a := MatrFill(8, 10, 0);
for var i := 0 to 7 do
for var j := 0 to 9 do
if s[i][j + 1] = 'b' then
a[i, j] := i + j + 2;
a.Println(3)
end.