行列演算:合計と転置
メニューを表示するにはスワイプしてください
行列演算は、多くのプログラミング作業において不可欠であり、特に画像、スプレッドシート、ゲームボードなど、グリッド状の構造に自然に適合するデータを扱う際に重要です。2次元配列(行列)でよく行う基本的な操作には、すべての要素の合計値の計算と転置があります。すべての要素の合計はデータ分析に役立ち、行列の転置(行と列の入れ替え)は、数学的計算、グラフィックス、データの異なる向きが必要なアルゴリズムで重要です。
Program.cs
12345678910111213141516171819202122232425262728// File: Program.cs using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[,] matrix = { {1, 2, 3}, {4, 5, 6} }; int sum = 0; for (int row = 0; row < matrix.GetLength(0); row++) { for (int col = 0; col < matrix.GetLength(1); col++) { sum += matrix[row, col]; } } Console.WriteLine("Sum of all elements: " + sum); } } }
2次元配列内のすべての要素を合計するには、入れ子のループを使用します。外側のループで各行を、内側のループでその行内の各列を反復処理します。各要素ごとに、その値を合計値に加算します。上記の例では、プログラムは 2x3 行列のすべての要素の合計を、matrix[row, col] で各値にアクセスし、sum 変数に累積することで計算しています。
Program.cs
123456789101112131415161718192021222324252627282930313233343536373839// File: Program.cs using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[,] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int size = matrix.GetLength(0); int[,] transposed = new int[size, size]; for (int row = 0; row < size; row++) { for (int col = 0; col < size; col++) { transposed[col, row] = matrix[row, col]; } } Console.WriteLine("Transposed matrix:"); for (int row = 0; row < size; row++) { for (int col = 0; col < size; col++) { Console.Write(transposed[row, col] + " "); } Console.WriteLine(); } } } }
このコードは行列の転置を実行します。3×3の行列から始め、行と列を入れ替えた新しい行列を作成します。ネストされたループを使用して、各要素(row, col)の位置を転置行列の(col, row)に再割り当てします。その後、プログラムは結果の行列を出力し、元の行が列になる様子を示します。
ノート
行列の転置とは、行と列を入れ替えることを意味します。
1. 2x3 行列を転置するとどうなりますか?
2. 2次元配列内のすべての要素を合計するにはどうしますか?
3. 行列演算で転置が有用なのはなぜですか?
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 3
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 4. 章 3