![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Объясните мне пожалуйста как решается вот эту задача:
Дана действительная матрица [Aij], i, j=1, ..., n. Получить действительную матрицу [Bij], i, j=1, ..., n, элемент Bij который равен сумме элементов данной матрицы, расположенных в области, определяемой индексами i,j так, как показано на рис. (область заштрихована). |
|
#2
|
|||
|
|||
|
И в чем проблема?
Тебе надо создать массив B. Потом идешь по столбцам и строкам этого массива и каждому элементу присваиваешь сумму соотв. подматрицы A, где ее границы определяются по диагонали (i,j)-(j,i). |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
|||
|
|||
|
Ну, примерно, так:
Код:
var
A, B : Array Of Array Of Integer;
// где-то заполняется массив A
// функция вычисления значения элемента массива B
function GetASum(M,N : Integer) : Integer;
var
I, J : Integer;
begin
Result := 0;
For I := M To N Do
For J := M To N Do
Result := Result + A[I,J];
end;
// функция расчета массива B
procedure MakeB;
var
I, J : Integer;
begin
For I := Low(B) To High(B) Do
For J := Low(B) To High(B) Do
B[I,J] := GetASum(I,J);
end; |