![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Олег |
![]()
Сообщение
#1
|
Гость ![]() |
Вот решаю я задачу:
Дана действительная квадратная матрица порядка 2N. Получить новую матрицу, переставляя ее блоки размера NxN в соответствии с рисунком Собственно, не приходит идеи, как это сотворить. Вначале предполагал повернуть на 180, но тогда меняется содержимое блоков при N больше 1-го. Заранее спасибо. |
![]() ![]() |
Олег |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот сам рисунок. Не вставляется тегом img почему-то
Эскизы прикрепленных изображений ![]() |
мисс_граффити |
![]()
Сообщение
#3
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
можешь определить номера строки и столбца, ограничивающих каждый из блоков?
после этого я бы посоветовала нарисовать поэлементную схему и посмотреть, какой элемент (по индексам) станет на место какого - сразу увидишь закономерность и сможешь написать цикл. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Алена |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата Дана действительная квадратная матрица порядка 2N. Получить новую матрицу, переставляя ее блоки размера NxN в соответствии с рисунком Если описать вспомогательный тип так:typeи твою матрицу привести к этому типу, то решение задачи уложится в 4 строки безо всяких циклов... Добавлено: Нет... К сожалению так не получится, компилятор видит матрицы по-другому... Альтернативное решение: сначала отразить матрицу относительно главной, а потом относительно побочной диагонали (порядок можно изменить, это не столь важно, главное - что надо сделать последовательно ОБА отражения). Итого - один вложенный цикл. Сообщение отредактировано: Алена - 22.03.2007 12:37 |
Олег |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
2мисс_граффити
Обязательно попробую. 2Алена Уже проходил - получаем то же, что при повороте на 180 - порядок элементов каждого блока НЕ ДОЛЖЕН меняться(( |
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
так он и не будет вроде...
мы же блок рассматриваем как элемент массива - единое целое... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Алена |
![]()
Сообщение
#7
|
Гость ![]() |
procedure swap_lines(a, b: integer); |
Олег |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: ![]() ![]() ![]() |
2Мисс граффити
Дык в том то и дело, что блок - это четверть матрицы по сути, оно не ограничено.... М.... спасибо, сам намудрил - Делаем так: 1 | 2 3 | 4 Вначале меняем 1 и 4, потом 3 и 2
Сообщение отредактировано: Олег - 22.03.2007 16:39 |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 18:01 |