Как найти массив чрезмерности NxN. Найти минимальный элемент в заштрихованной области....

0 голосов
25 просмотров

Как найти массив чрезмерности NxN. Найти минимальный элемент в заштрихованной области. Границы считаются принадлежащим заштрихованной области? в моем случае (К) то есть правый треугольник.

uses crt;

{размер массива}
const n = 3;
{объявляем переменные}
var
{матрица размера 9x9}
a: array[1..n, 1..n] of integer;
{сумма}
sum: integer;
{индексы для циклов}
i, j: integer;

begin
clrscr;
randomize;

{заполняем массив}
for i := 1 to n do
for j := 1 to n do
a[i,j] := random(10);

{печатаем массив}
writeln;
writeln('Massiv');
for i := 1 to n do
begin
for j := 1 to n do
write(a[i,j]:3);
writeln;
end;

{находим сумму заштрихованной области}
{Правая половина}
sum := 0;
for i := 1 to n div 1+1 do
for j := i to n - i + 1 do
sum := sum + a[i, j];

{Печатаем сумму заштрихованной области}
writeln;
writeln;
writeln('Summa = ', sum);

readln;
end.

в итоге выходит что он считает верхний треугольник то есть как в (Е)
я более чем уверен дело в параметрах цикла раздела "находим сумму заштрихованной области"


image

Информатика (12 баллов) | 25 просмотров
Дан 1 ответ
0 голосов

Да, дело в цикле. Там он специально настроен на этот пункт. Замените его на
for i := 1 to n  do
        for j := i to n do
            if (i+j>n) then sum := sum + a[i, j];
И все заработает. Надеюсь, Вам можно применять ветвления. Циклом я отбираю пункт Б, и ветвлением отбираю пункт Г. Их слиянием как раз и есть пункт К.

(1.5k баллов)