Цитата(blackfin @ May 18 2007, 22:03)

Скорее, к транспонированию с последующим зеркальным отражением относительно
горизональной линии проходящей через середину матрицы (M/2).
Да, точно.

Цитата(blackfin @ May 18 2007, 22:03)

Можно выполнить поворот "на месте", если зарезервировать память под
квадратную матрицу, т.е. 4х4, но лучше, сразу заполнять память в нужном порядке.
Цитата(SasaTheProgrammer @ May 18 2007, 22:41)

А нельзя ли эту матрицу использовать как она есть? Т.е. при обращении к ней переставлять индексы. Или, если она представлена одномерным массивом - руками вычислять смещение i*M+j вместо j*N+i ?
Квадратную матрицу делать нельзя - массив может быть как 1000x1000, так и 10000x1. А памяти мало.

Так же не получится изначально записывать в нужном порядке - в момент начала прихода картинки мы еще ничего не знаем о ее размерах. Фактически, можно сказать, что нам постфактум сообщаются адрес начала, ширина и высота. На счет вычисления адресса руками тоже не пройдет - на выходе мы так же должны предоставить адрес начала, ширину и высоту (новые), а там дальше внешняя прога начнет эти данные гнать наружу.
Цитата(Doka @ May 18 2007, 22:35)

а тогда если так: переписывать начиная с 0 адреса
притом ячейку назначение перезаписывать (запоминая старое значение) и потом перезаписывать уже это запомненное значение (т.е. куда оно должно быть перемещено (опять перед перезаписью запомнив старое) и т.д. пока вновь не прийдете на нулевой адрес?
Нет, так не получится. Действительно, как отметил SasaTheProgrammer, зацикливание произойдет. Причем, произойдет обязательно.

Цитата(SasaTheProgrammer @ May 18 2007, 22:41)

Я бы посоветовал обратиться в fido7.ru.math - там точно с этим справятся.
А не подскажете, как туда обратиться? Когда-то давно и сам был фидошником, но с тех пор, как интернет прочно вошел в мою жизнь, отстал от положения дел. Там, вроде, надо какой-то специальный софт ставить или что-то такое?