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

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

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 баллов) | 97 просмотров
0

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

0

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

Дан 1 ответ
0 голосов
Правильный ответ
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 баллов)
0

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.

0

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