IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Найти суму чисел ниже вторичной диагонале.
DarkWishmaster
сообщение 14.12.2010 19:40
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 168
Пол: Мужской

Репутация: -  3  +


Привет! два часа уже думаю над этой задачой, никак не получается.
есть массив 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 но получаю результаты только в некоторых из случаев.

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

Сообщение отредактировано: DarkWishmaster - 14.12.2010 19:48
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Freedom
сообщение 14.12.2010 20:02
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 113
Пол: Мужской
Реальное имя: Надир

Репутация: -  6  +


Цитата(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 случайными числами и считает сумму чисел ниже побочной диагонали, если вы немного подумаете, то сможете разобраться и написать программу для нахождения суммы чисел выше побочной диагонали

Сообщение отредактировано: Freedom - 14.12.2010 20:03


--------------------
From ZERO to HERO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
DarkWishmaster
сообщение 14.12.2010 20:10
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 168
Пол: Мужской

Репутация: -  3  +


If i+j>n+1"- эх, а я то мучился ) спасибо,
ну а выше то тут просто: i+j<n+1;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Freedom
сообщение 14.12.2010 20:13
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 113
Пол: Мужской
Реальное имя: Надир

Репутация: -  6  +


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

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

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


--------------------
From ZERO to HERO
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 1:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"