1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Fest |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Сектант Репутация: 0 |
Такая вот у меня проблема:
Надо написать прогу, которая считает в квадратной матрице(5х5) суммы элементов треугольников. Треугольниками здесь называется такая вот весчь: Матрица - 1 2 3 4 5 2 2 3 4 5 3 2 3 4 5 4 2 3 4 5 5 2 3 4 5 Вотс, надо вычислить в подобной матрице суммы красных треугольничков и зеленых. Проблема в том, как это сделать... Я пробовал просто складывать нужные элементы(s1:=a[1.2]+a[1.3] и так далее), но это немного не то. Можно ли как-нибудь еще посчитать суммы этих треугольников? Сообщение отредактировано: Fest - |
![]() ![]() |
| andriano |
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Забудь пока о массивах и циклах. Представь, что перед тобой на бумаге несколько матриц разного размера. Как бы ты стал подсчитывать сумму?
|
| Fest |
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Сектант Репутация: 0 |
Забудь пока о массивах и циклах. Представь, что перед тобой на бумаге несколько матриц разного размера. Как бы ты стал подсчитывать сумму? Стал бы тупо складывать нужные элементы To Klem4: Спасибо большое, но я похоже очень тупой :\ Можешь объяснить, как работает вот это: for i := 1 to n do Что здесь с чем сравнивается?.. Что отнимается? Почему? Можешь прокомментировать, если не сложно?.. |
| andriano |
Сообщение
#4
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Стал бы тупо складывать нужные элементы А как ты определяешь, какие элементы являются нужными, а какие нет? Цитата Другое дело сделать тоже самое в цикле, чтобы уже считало нужные элементы автоматически, с помощью какой-нить формулы. А "формула" и рождается из собственных рассуждений. Вот, скажем, верхний треугольник: начинаешь перебор со второго элемента первой строки, а заканчиваешь предпоследним, так?Соответственно, и цикл можно записать: for j := 1+1 to n-1 do Вторую стоку начинаешь считать на один элемент позже, а заканчиваешь - на 1 раньше: for j := 1+2 to n-2 do Обращаем внимаение на то, что "добавка" в пределах суммирования совпадает с номером стоки По высоте надо просуммировать n div 2 строк для нечетного n (каким и является 5). Если нарисовать для четного, то можно обнаружить, что две средние строки в суммровании не учавствуют, т.е. всего (n-2) div 2 строк. То есть внешний цикл у нас должен суммировать строки от 1 до (n-1) div 2, (эта формула подходит как для четных, так и для нечетных размеров) а во внутреннем надо постепенно сужать строку, отнимая от начала и конца номер текущей строки: for i := 1 to (n-1) div 2 do Цитата Например, чтобы нужные элементы считались, при этом не трогая диагоналей. У меня в голове это как-то не укладывается :\ Пытаюсь в мозгу вывести картинку, как это все происходит, но что-то не получается. А ты увелич размер матрицы до 10-15 - понять будет легче.Цитата To Klem4: Спасибо большое, но я похоже очень тупой :\ Можешь объяснить, как работает вот это: for i := 1 to n do Что здесь с чем сравнивается?.. Что отнимается? Почему? Можешь прокомментировать, если не сложно?.. Это делает как раз то, что описано словами, а именно проводит перебор ПО ВСЕМ элементам, а прибавляет к сумме только нужные. Я, кстати, предложил другой алгоритм: сразу перебирать только нужное. Как видишь, задача может решаться несколькими путями. |
Fest Суммы элементов в матрице 23.12.2007 8:25
andriano Если речь идет о матрицах фиксированного и не слиш… 23.12.2007 16:20
Fest
Если речь идет о матрицах фиксированного и не сли… 23.12.2007 21:21
andriano Можно, конечно.
Ручками (и глазками) ты ведь это м… 23.12.2007 23:24
Fest
Можно, конечно.
Ручками (и глазками) ты ведь это … 23.12.2007 23:35
klem4 на самом деле решение этой задачи не однократно вы… 24.12.2007 0:55
klem4 цикл по всем элемента матрицы
в цикле надо отобрат… 24.12.2007 2:20
Fest
цикл по всем элемента матрицы
в цикле надо отобра… 24.12.2007 2:42
klem4
Решалось тоже, вроде даже в FAQ было, поищи. 24.12.2007 2:45
мисс_граффити
_здесь_ ошибки нет
а вот какие значения i и j ты … 24.12.2007 3:05
Fest
_здесь_ ошибки нет
а вот какие значения i и j ты … 24.12.2007 3:30
andriano
_здесь_ ошибки нет
а вот какие значения i и j т… 24.12.2007 12:01
klem4 сумма различных элементов матриц 25.12.2007 0:24
Fest Всем большое спасибо! Особенно Andriano! П… 25.12.2007 8:09
Michael_Rybak
ok :) 25.12.2007 8:34![]() ![]() |
|
Текстовая версия | 6.11.2025 23:23 |