これは低眉の質問と考えられます。しかし、私はコードを見つけられませんでした。あるいは、私のプログラミング言語でこれをどうやって解決するかについて議論しているフォーラムです.C。多くの試みが行われましたが、最終的に新しい配列を実際に "ハードコーディング"します。2次元配列を垂直/水平に反転する
私は垂直方向にしようとしていて、2次元配列を水平方向に反転しようとしています。 それは簡単に思えました、単に体系的に行って各行と列の値を操作しました。しかし、基本的な3x3アレイではない配列について検討したい場合はどうすればよいでしょうか。 11x11、または15x15など?
**CODE SNIPPET:**
int array[3][3]= { {1,2,3},
{4,5,6},
{7,8,9} };
int vertFlip[3][3],
horzFlip[3][3];
for(i = 0; i < rows; i++)
{
for(j = 0; j < cols; j++)
{
vertFlip[0][i]= array[2][i];
vertFlip[1][i]= array[1][i];
vertFlip[2][i]= array[0][i];
}
} //and so on for horizontal, obviously my nested for loop was different.
しかし
、この配列は、はるかに大きな何か、(123x123サイズの配列を)だったものならば、誰でもこのタスクを達成するための効果的な方法を知っていますか?
サイズ「N」の配列を反転する方法について考えてみましょう。それが完了すると、マリックスを反転させることはほぼ同じです。 –
参照してください、私は例としてそれを使用しようとしましたが、純粋に水平方向に配列を反転しています。もう少し考えてみましょう。 – DancingDylan
あなたのコードは 'i'を列インデックスとして使用しており、' j'をまったく使用していません。 – user3386109