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

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

Форум «Всё о Паскале» _ Задачи _ Матрицы

Автор: ANDYGO 22.03.2008 4:21

Привет, объясните смысл задачи, а то что-то туплю никак не могу понять blink.gif
"Даны две целые квадратные матрицы 10-го порядка. Определить можно ли отражением относительно главной и побочной диагонали преобразовать одну из них в другую."
Второй день не могу понять mega_chok.gif dry.gif

Автор: Michael_Rybak 22.03.2008 7:14

Вот у тебя квадратная матрица:

1 2 3
4 5 6
7 8 9

Вот у нее главная диагональ:

1 2 3
4 5 6
7 8 9

А вот побочная:


1 2 3
4 5 6
7 8 9

Если обратить относительно главной, получится так (все элементы симметрично меняются местами относительно диагонали):

1 4 7
2 5 8
3 6 9

Дальше - сам.

Автор: ANDYGO 22.03.2008 22:31

Ну если честно про диагонали я знаю, про отражение тоже знаю wink.gif Но смысл задачи как отражением относительно главной или побочной диагонали элементов одной матрицы получить вторую mega_chok.gif Ведь там элементы совершенно разные можно вводить и получить это нереально

Автор: мисс_граффити 23.03.2008 0:18

вот и надо проверить, совпадет или нет...
то есть если отраженная_матрица1=матрица2 - значит, выводишь ответ "можно". а если элементы совсем разные - "извините, не получилось..."

Автор: ANDYGO 23.03.2008 5:50

Цитата(мисс_граффити @ 22.03.2008 20:18) *

вот и надо проверить, совпадет или нет...
то есть если отраженная_матрица1=матрица2 - значит, выводишь ответ "можно". а если элементы совсем разные - "извините, не получилось..."

Такой смысл я предполагал, только вот думал, что ошибался, отражение относительно главной диагонали это есть транспонирование, чтобы они были равны вторую надо вводить как транспонированную к первой, не поймешь - будешь до конца жизни вводить матрицы и они будут не равны dry.gif Вообще-то написал задачу

Автор: мисс_граффити 23.03.2008 19:02

там вообще 4 матрицы подойдут под условие "можно получить..." (матрицы А и В вводим):
А=В
А=В транспонированная
А=В отраженная относительно побочной
А=В отраженная относительно главной, а потом относительно пободной


Автор: ANDYGO 24.03.2008 2:19

Цитата(мисс_граффити @ 23.03.2008 15:02) *

там вообще 4 матрицы подойдут под условие "можно получить..." (матрицы А и В вводим):
А=В
А=В транспонированная
А=В отраженная относительно побочной
А=В отраженная относительно главной, а потом относительно побочной

А что за первый случай А=В? blink.gif В условие вообще-то сказано что надо какую то из них отразить относительно главной или побочной диагонали, под этот случай могут попасть только матрицы где отражаемые элементы будут равны и вторую матрицу ввести равную первой.

Автор: мисс_граффити 24.03.2008 4:17

ну если у тебя матрицы
А=
1 2
3 4

В=
1 2
3 4

можно ведь из А получить В отражением...

Автор: ANDYGO 25.03.2008 0:02

Цитата(мисс_граффити @ 24.03.2008 0:17) *

ну если у тебя матрицы
А=
1 2
3 4

В=
1 2
3 4

можно ведь из А получить В отражением...

А это как? Может я чего не допонимаю?
Введу я матрицу А = 1 2 3 4, введу В = 1 2 3 4, сделаю отражение относительно главной диагонали получится А = 1 3 2 4, не равна В, сделаю относительно побочной В = 4 2 3 1 опять не равно В, относительно главной и побочной одновременно В = 4 3 2 1 опять не равно...

Автор: Michael_Rybak 25.03.2008 2:51

дело в том что отражать можно сколько хочешь раз. можно 1 раз. а можно 0. или 2, что то же самое. когда говорят "с помощью отражений", имеют ввиду возможность *отражать*, а не *отразить* 1 раз.

Автор: ANDYGO 25.03.2008 3:57

Цитата(Michael_Rybak @ 24.03.2008 22:51) *

дело в том что отражать можно сколько хочешь раз. можно 1 раз. а можно 0. или 2, что то же самое. когда говорят "с помощью отражений", имеют ввиду возможность *отражать*, а не *отразить* 1 раз.

good.gif Это правильно, а я почему-то про одно думал, но все же смысл работы программы наверно сравнивать разные матрицы. Не может быть такого что в написании отражения какая нибудь ошибка, компилятор ее не выдает, отражение матрицы не происходит, а при вводе 2 одинаковых получится, при сравнении матриц, что программа работает правильно?

Автор: Michael_Rybak 25.03.2008 5:17

с неправильной программой может получится что угодно smile.gif

а одинаковые матрицы - это типа такой хитрый тест, который легко не учесть. хитрые тесты часто кажутся неестественными.

Автор: Zzzz... 25.03.2008 5:44

off

и очень часто эти хитрые тесты ставят на олимпиадах....ненавижу(((...

Автор: Michael_Rybak 25.03.2008 7:53

а я обожаю. я член жюри и автор задач киевской городской smile.gif

Автор: ANDYGO 25.03.2008 19:18

Цитата(Michael_Rybak @ 25.03.2008 3:53) *

а я обожаю. я член жюри и автор задач киевской городской smile.gif

Классно мне бы так Паскаль знать...