• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы 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.

Далее всё стопорится.
 
Вот простенький способ решения (что б посчитать суму выделеных красным елементов)
Код:
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;
 
Вот простенький способ решения (что б посчитать суму выделеных красным елементов)
Код:
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;
Спасибо большое, так оно и есть, этот способ рабочий. С меня плюсик, респект за оперативность.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab