Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример 3.5. В массиве A(N, N) вычислить две суммы элементов, расположенных




Ниже и выше главной диагонали.

Данные Результат
N=3 S1=6 S2=9

Тест

Алгоритмический язык

алг Две суммы (арг цел N, арг вещ таб A[1:N, 1:N], рез вещ S1, S2)

надо | S1 = сумма элементов ниже главной диагонали

| S2 = сумма элементов выше главной диагонали Блок-схема (фрагмент)

нач цел i, j

S1:=0; S2:=0

нц для i от 2 до N | циклы по элементам, расположенным

нц для j от 1 до i-1 | ниже главной диагонали

S1:=S1 + A[i, j]

Кц

Кц

нц для i от 1 до N-1 | циклы по элементам, расположенным

нц для j от i+1 до N | выше главной диагонали

S2:=S2 + A[i, j]

Кц

Кц

Кон

Turbo Pascal

Program TwoSums;

Uses Crt;

Var A: Array [1..10, 1..10] of Real;

S1, S2: Real; {S1, S2 - суммы элементов, расположенных

ниже и выше главной диагонали, соответственно}

N, i, j: Integer;

{--------------------------------------------}

Procedure InputOutput;{описание процедуры ввода-вывода

исходных данных}

Begin ClrScr;

Write('Количество строк и столбцов - '); ReadLn(N);

For i:= 1 to N do {Ввод матрицы}

For j:= 1 to N do

begin Write('A[', i, ', ', j, '] =? ');

ReadLn(A[i, j]);

end; WriteLn;

ClrScr; WriteLn(' Матрица А');

For i:= 1 to N do {Вывод матрицы}

begin

For j:= 1 to N do Write(A[i, j]: 5: 1);

WriteLn

end; WriteLn

End; { of InputOutput }

{--------------------------------------------}

Procedure Under;

Begin {описание процедуры суммирования элементов, }

S1:= 0; {расположенных ниже главной диагонали }

For i:= 2 to N do

For j:= 1 to i-1 do

S1:= S1 + A[i, j];

WriteLn('О т в е т:');

WriteLn('Сумма элементов, лежащих ниже главной диагонали =', S1:5:1);

End;

{--------------------------------------------}

Procedure Over;

Begin {описание процедуры суммирования элементов,}

S2:= 0; {расположенных выше главной диагонали}

For i:= 1 to N-1 do

For j:= i+1 to N do

S2:= S2 + A[i, j];

WriteLn('Сумма элементов, лежащих выше главной диагонали =', S2:5:1);

ReadLn;

End;

{--------------------------------------------}

BEGIN

InputOutput; {Вызов процедуры ввода-вывода матрицы }

Under; {Вычисление суммы элементов, лежащих ниже главной диагонали}

Over; {Вычисление суммы элементов, лежащих выше главной диагонали }

END.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных