Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Алгоритм]Поворот матрицы |
Автор: IwantToBeProgrammer 8.7.2007, 22:03 |
Дана квадратная матрица X размером 10*10. К ней 3 раза подряд применяется приведённый ниже алгоритм по вариантам F,D,B соответственно. Каким должен быть пропущенный фрагмент чтобы однократное применение алгоритма к матрице дало тот же результат? нач n=10 нц для i от 1 до n нц для j от 1 до n Y[i;j]=X[i;j] кц кц нц для i от 1 до n нц для j от 1 до n X[i;j]=Y[?] кц кц кон F: [j, n+1-i] ; D: [j,i] ; B: [n+1-i, j] Соответственно варианты ответов: G: [n+1-j, i] H: [i, j] E: [n+1-i,n+1-j] F: [j, n+1-i] A: [n+1-j, n+1-i] Предполагаемое решение: разберём аналогичную матрицу 3*3 (123/456/789) Применяя F получаем 369/258/147 После этого D: 789/456/123 И наконец B: 123/456/789 Соответствено однократный результтат будет и после варианта H(оригинал) Но почему же тогда правильный вариант ответа E????? Как же так?????? |
Автор: SelenIT 8.7.2007, 22:53 |
Насколько я понял, каждый по разу и надо, три - это в сумме... А вот как после D (типа транспонирование) семерка из позиции [3,3] перекочевала в [1,1] - для меня загадка, либо я тормоз... |
Автор: IwantToBeProgrammer 9.7.2007, 22:07 |
поясню как решал: F - поворот на 90 град. против часовой стрелки => 369/258/147 D - зеркальное отражение от главной диагонали => 789/456/123 B - зеркальное отражение от горизонтали => 123/456/789 получаемто оригинал. ответ указан неверно по мнению системы ответов, которая не раз подводила. в этом весь вопрос так или не так (оригинал или нет в итоге) а-то до момента когда всё это будет необходимо осталось чуть более суток(( |
Автор: Nite 10.7.2007, 11:28 |
По-моему, транспонирование относительно главной диагонали приведет к 369/258/147 => 321/654/987. Соответственно третий шаг будет => 987/654/321. Так что правильный ответ действительно Е. |
Автор: IwantToBeProgrammer 10.7.2007, 18:57 |
Прошу прощения за мою грубейшую ошибку) я перепутал главную и побочную диагональ в массиве. так что пасибо, тему можно закрывать) |