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

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

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

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

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

Двумерный массив, контур

  • Автор темы MusicMan
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

MusicMan

Есть задачка
Дана квадратная матрица A произвольной размерности. Определить сумму значений элементов, стоящих по контуру данной матрицы.

Т.е. контур, это элементы, которые находятся по краям матрицы?

11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55

Я правильно понимаю? Каким образом можно выбрать этот контур?

PS: Язык Pascal.

Решение не нужно, просто нужно условие, которым выделяется этот самый контур, либо последовательность действий.

program program_1;
uses crt;
var a:array[1..100,1..100] of Integer;
i,j,n,summ:integer;
begin
clrscr;
write('Vvedite razmernost matrici: ');
readln(n);
for i:=1 to n do
for j:=1 to n do begin
write('element [',i,':',j,']:');
readln(a[i,j]);
end;
writeln;
for i:=1 to n do begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
...
readln;
end.

Далее всё стопорится.
 
D

Dock1100

Вот простенький способ решения (что б посчитать суму выделеных красным елементов)
Код:
function suma_contur(a:array[1..n,1..m] of real):real; //n и m размеры матрицы
var i,j:integer;
s:real;
begin
s:=0;
for i:=1 to n do
for f:=1 to m do
if (i=1)or(j=1)or(i = n)or(j = m) then s:=s+a[i,j];

suma_contur:=s;
end;
 
M

MusicMan

Вот простенький способ решения (что б посчитать суму выделеных красным елементов)
Код:
function suma_contur(a:array[1..n,1..m] of real):real; //n и m размеры матрицы
var i,j:integer;
s:real;
begin
s:=0;
for i:=1 to n do
for f:=1 to m do
if (i=1)or(j=1)or(i = n)or(j = m) then s:=s+a[i,j];

suma_contur:=s;
end;
Спасибо большое, так оно и есть, этот способ рабочий. С меня плюсик, респект за оперативность.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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