• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

сумма из заштрихованной области квадрата

  • Автор темы sestrenka141989
  • Дата начала
S

sestrenka141989

Помогите кто-нибудь с задачкой, что-то я совсем ее не пойму((
Найти сумму из заштрихованной области квадрата, указанного на рисунке: _______.GIF
 
D

Dock1100

суму чего именно(площад, так это половина квадрата, количество точек?)
 
S

sestrenka141989

в общем дано квадратная матрица и найти суму чисел из заштрихованной области
 
H

hosm

ой, а ты будешь решать, vital?)
кстати, с областью непонятно) диагональные элементы матрицы учитывать в заштрихованную часть?
насколько я поняла, она в виде 2 треугольников с общей вершиной (т.е. сплошной черный цвет не учитывается).
 
S

sestrenka141989

нужны все элементы которые находятся в черной области включая и диагонали
 
S

sestrenka141989

если можно то да

Добавлено: У меня вышло так:
Код:
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
n,i,j:byte;
sm:integer;
begin

randomize;
repeat
write('Размер матрицы=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
sm:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(10);
if(j>=i)or(j>=n-i+1)then
begin
sm:=sm+a[i,j];
write(a[i,j]:4);
end
else
begin
write(a[i,j]:4);
end;
end;
writeln;
end;
writeln;

write('Сумма=',sm);
readln
end.
 
H

hosm

sestrenka141989, вроде всё правильно, но я бы не плодила избыточности. Так проще и читабельней (привожу только внутренний цикл)
Код:
for j:=1 to n do
begin
a[i,j]:=random(10);
if(j>=i)or(j>=n-i+1) then
sm:=sm+a[i,j];
write(a[i,j]:4);
end;
P.S. при постинге кода на форум стоит применять соответсвующий тег. Даже кнопочки есть для него.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!