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

Тема в разделе "Pascal and Delphi", создана пользователем -, 7 май 2010.

  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 |
    Заранее благодарю!
     
  2. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    В выделеном тексте должно быть расположенных в главной, над, под?
     
  3. etc

    etc Гость

  4. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    вычисление суммы положительных элементов стоящих выше главной диагонали матрицы
    Код (Text):
    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;

    сумма положительных элементов расположенных в главной диагонали матрицы
    Код (Text):
    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;
    ЗЫ Код писал прямо тут, могут быть ошибки
     
  5. etc

    etc Гость

    Dock1100 ->

    + - а ваши функции точно рабочие?
     
  6. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    непроверял(винду недавно снес, а на виндовс 7 паскаль мягко сказано глючной, а делфи пока влом ставить)
     
  7. Гость

    Спасибо огромное!!!
     
  8. Гость

    скажите..а чтобы найти сумму элементов лежащих ниже главной диагонали..нужно
    Код (Delphi):
    if i<j then s:=s+a[i,j];
    исправить на
    Код (Delphi):
    if i>j then s:=s+a[i,j];
    ?;)
     
  9. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Да, токо как поже выяснилось передать в функцию двумерный масив проблематичтно, так что просто вставте это:
    Код (Text):
    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;
     
Загрузка...

Поделиться этой страницей