1
1次元配列のn要素を90度(右と左)回転させるにはどうすればよいですか?C - 1つの配列を使用して画像を90度(右と左)回転 - ビットマップ
マイアレイである24ビットのビットマップ(N×N個)例えば
、
A[16] = {
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16}
新しいアレイに回転私の配列:に
{4,8,12,16
3,7,11,15
2,6,10,14
1,5,9,13}
と:
{13,9,5,1,
14,10,6,2,
15,11,7,3,
16,12,8,4}
何を試しましたか? 'A [0] [0]'の値がどこで終わるべきかを理解できますか? 'A [0] [0]'をそのセルと入れ替えるとどうなりますか?あなたは次に何を交換する必要がありますか? – StoryTeller
ソース配列の列をターゲット配列の行にコピーするか、ソース配列の行をターゲット配列の列にコピーする必要があります。唯一の問題は、どのシーケンスを使用するかです。まず、ソース配列とターゲット配列、およびそのサイズを渡した骨格関数を記述します。行を列にどのようにコピーするかを慎重に検討してください。 –
2Dピクセル座標から1D配列インデックスへのマッピングがあります。これを座標の関数として書く。それを持つと、逆関数を書くこともできるはずです。 2D座標から回転した2D座標への2つのマッピングもあります。これらを関数としても書き出します。あなたが望む変換は、(1D - > 2D)、(2D回転)、(2D - > 1D)のコンポジションです。これらのすべてのフォーム式を閉じているので、全体のトランスフォームの式を記述することができます。 –