Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Найти суму чисел ниже вторичной диагонале.

Автор: DarkWishmaster 14.12.2010 23:40

Привет! два часа уже думаю над этой задачой, никак не получается.
есть массив a[1..n,1..n]
например n=5 то надо найти сумму:
a[5,2]+a[4,3]+a[3,4]+a[2,5]
+a[5,3]+a[4,4]+a[3,5]
+a[5,4]+[4,5]
+[5,5] тут мы видем что i убывает от n до 2, потом от n до 3 и.т
а вот j наоборот растет от 2 к n, потом от 3 k n и.т
r:=1;
я пробовал while r<=n do
r:=r+1;
for i:=n downto r do
for j:=r to n do но получаю результаты только в некоторых из случаев.

если можете, напишите для чисел выше диагонали.

Автор: Freedom 15.12.2010 0:02

Цитата(DarkWishmaster @ 14.12.2010 19:40) *

Привет! два часа уже думаю над этой задачой, никак не получается.
есть массив a[1..n,1..n]
например n=5 то надо найти сумму:
.....

если можете, напишите для чисел выше диагонали.

var a:array [1..100,1..100] of integer;
summ,n,i,j:integer;
begin
randomize;
write('n=');
readln(n);
summ:=0;
for i:=1 to n do for j:=1 to n do a[i,j]:=random(10);
for i:=1 to n do begin
for j:=1 to n do write(a[i,j],' ');
writeln;
end;

for i:=1 to n do
for j:=1 to n do
If i+j>n+1 then summ:=summ+a[i,j];

writeln('summa=',summ);
readln;
end.


Вот программа заполняющая массив размером N*N случайными числами и считает сумму чисел ниже побочной диагонали, если вы немного подумаете, то сможете разобраться и написать программу для нахождения суммы чисел выше побочной диагонали

Автор: DarkWishmaster 15.12.2010 0:10

If i+j>n+1"- эх, а я то мучился ) спасибо,
ну а выше то тут просто: i+j<n+1;

Автор: Freedom 15.12.2010 0:13

Цитата(DarkWishmaster @ 14.12.2010 20:10) *

If i+j>n+1"- эх, а я то мучился ) спасибо,
ну а выше то тут просто: i+j<n+1;

Надеюсь вам понятно почему именно i+j>n+1