2017-11-15 3 views
-5

は、私は配列の要素2 dim配列をどのように置き換えることができますか?

を交換したい
arr1[n][m] to arr2[m][n] 

例:

arr1[0]{a1,a2,a3} 
arr1[1]{b1,b2,b3} 

変化に:

arr2[0]{a1,b1} 
arr2[1]{a2,b2} 
arr2[2]{a3,b3} 

私はこれをどのように行うことができますか?

+0

行列を転置しようとしていますか?それはあなたが書いたものではありませんが... –

+2

質問にあなたのコードを載せてください。 [最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。 –

+0

あなたは配列を転置したいと思うかもしれませんが、それでも多くは完全には明らかではありません。明確な唯一のことは、あなたが望むコードを書くためにあなた自身で何か試みをするのに気を付けるならば、あなたはその質問の証拠をあなたの質問に含めなかったということです。スタックオーバーフローはコード作成サービスではなく、配列を転置したいと思っても、あなたの質問はあまりにも漠然としているため、あなたのシナリオでの最良のアプローチを正確に知ることはできません。質問には良い[mcve]が含まれているように修正し、そのコードが何をして何を望んでいるのか、具体的に何が助けになるのかを説明してください。 –

答えて

0

基本的に、与えられた行列の転置を行う必要があります。

public T[,] TransposeMatrix(T[,] matrix) 
{ 
    var rows = matrix.GetLength(0); 
    var columns = matrix.GetLength(1); 
    var result = new T[columns, rows]; 

    for (var c = 0; c < columns; ++c) 
    { 
     for (var r = 0; r < rows; ++r) 
     { 
      result[c, r] = matrix[r, c]; 
     } 
    } 

    return result; 
} 
関連する問題