Вычислить значение суммы положительных элементов

  • Автор темы -
  • Дата начала

Гость
#1
Вычислить значение z=sA+sB, где
sA- сумма положительных элементов расположенных главной диагонали матрицы А
sB- сумма положительных элементов расположенных главной диагонали матрицы В
вычисление суммы положительных элементов стоящих выше главной диагонали матрицы оформить как функцию
количество строк и столбцов матрицы - параметры функции.
исходные данные:
А= |-5 2.1 0.4 0|
|2.7 3.4 -5.1 -1.2|
|3.2 -2.5 -7.1 8.2|

B= |3.5 -2.1 7.4|
|0 2.4 -3.5|
|7.2 4.3 0 |
Заранее благодарю!
 
09.11.2009
665
1
#2
sA- сумма положительных элементов расположенных главной диагонали матрицы А
sB- сумма положительных элементов расположенных главной диагонали матрицы В
В выделеном тексте должно быть расположенных в главной, над, под?
 
09.11.2009
665
1
#4
вычисление суммы положительных элементов стоящих выше главной диагонали матрицы
Код:
function suma_nad_glav_diagonal(a:array of array of real; length_i,llength_j:integer):real;
var i,j:integer;
s:real;
begin
s:=0;
for i:=1 to length_i do
for j:=1 to length_j do
if i<j then s:=s+a[i,j];
suma_nad_glav_diagonal:=s;
end;

сумма положительных элементов расположенных в главной диагонали матрицы
Код:
function suma_in_glav_diagonal(a:array of array of real; length_i,llength_j:integer):real;
var i,j:integer;
s:real;
begin
s:=0;
for i:=1 to length_i do
for j:=1 to length_j do
if i=j then s:=s+a[i,j];
suma_in_glav_diagonal:=s;
end;
ЗЫ Код писал прямо тут, могут быть ошибки
 

Гость
#8
скажите..а чтобы найти сумму элементов лежащих ниже главной диагонали..нужно
Код:
if i<j then s:=s+a[i,j];
исправить на
Код:
if i>j then s:=s+a[i,j];
?;)
 
09.11.2009
665
1
#9
скажите..а чтобы найти сумму элементов лежащих ниже главной диагонали..нужно
Код:
if i<j then s:=s+a[i,j];
исправить на
Код:
if i>j then s:=s+a[i,j];
?;)
Да, токо как поже выяснилось передать в функцию двумерный масив проблематичтно, так что просто вставте это:
Код:
const n=10;
var i,j:integer;
s:real;
a:array[1..n,1..n] of real;
begin
....
s:=0;
for i:=1 to n do
for j:=1 to n do
if i>j then s:=s+a[i,j];

....
end;