Var A : array [1..n,1..n] of real; (n–нечетно) Найти сумму элементов из области матрицы...

0 голосов

Var A : array [1..n,1..n] of real; (n–нечетно)
Найти сумму элементов из области матрицы А, отмеченной
символом ' * ':
\left[\begin{array}{ccccccc} 0&0&0&*&0&0&0\\ 0&0&*&*&*&0&0\\ 0&*&*&*&*&*&0\\ *&*&*&*&*&*&*\\ 0&*&*&*&*&*&0\\ 0&0&*&*&*&0&0\\ 0&0&0&*&0&0&0 \end{array}\right]1 n
0 0 0 * 0 0 0
0 0 * * * 0 0
0 * * * * * 0
* * * * * * *
0 * * * * * 0
0 0 * * * 0 0
n 0 0 0 * 0 0 0


спросил от (54 баллов) в категории Информатика
оставил комментарий от (54 баллов)

такую задачу дали ....найти сумму из области матрицы отмеченные звездочкой

оставил комментарий от (54 баллов)

а если добавить "random" заполнение с выводом на экран и потом вывести сумму из этого ...я почти до делал(есть трудности c подсчётом суммы "Ромба")

1 Ответ
0 голосов
ответил от (46 баллов)
 
Лучший ответ
s:=0; for i:=1 to (n div 2)+1 do for j:=(n div 2)+1+1-i to (n div 2)+1-1+i do s:=s+a[i,j]; for i:=(n div 2)+2 to n do for j:=(n div 2)+1-(n-i) to (n div 2)+1+(n-i) do s:=s+a[i,j];
оставил комментарий от (46 баллов)

const
n= 7;
m= n div 2 + 1;

var
a: array[1..n,1..n]of integer;

function Rhomb(i,j: integer): integer;
begin
if Abs(i-m) if i=m then
Rhomb:= a[i,j]+Rhomb(i-1,j)+Rhomb(i+1,j)+Rhomb(i,j+1)
else
Rhomb:= a[i,j]+Rhomb(i+(i-m) div Abs(i-m),j)
else Rhomb:=0
end;

begin
{input a}
WriteLn('Rhomb Summ is: ',Rhomb(m,1));
ReadLn
end.

оставил комментарий от (54 баллов)

немножко не так в решении - Var A : array [1..n,1..n] of real; (n–нечетно)

...