約 617,481 件
https://w.atwiki.jp/cschola/pages/64.html
多次元配列 配列の応用として多次元配列というものがあります。 配列は変数を複数作るものですが、多次元配列は配列を複数作るものです。 ここでは2次元配列を例に説明します。 多次元配列も普通の配列と同じように数値を代入することができます。 int Array[2][3]; Array[0][0] = 5; Array[0][1] = 7; Array[0][2] = 3; Array[1][0] = 4; Array[1][1] = 9; Array[1][2] = 8; 表示するときも普通の配列とほとんど変わりません。 printf("%d\t%d\t%d\n",Array[0][0],Array[0][1],Array[0][2]); printf("%d\t%d\t%d\n",Array[1][0],Array[1][1],Array[1][2]); しかし、長くなりがちなのでなるべく短くなるようにまとめてみましょう。 int Array[3][4] = {{7,6,0,4},{3,5,9,1},{2,8,3,6}}; for(int i = 0; i 3; i++){ for(int j = 0; j 4; j++){ printf("%d\n",Array[i][j]); } } 2次元配列の場合は下のように整えた方が見やすくなる場合があります。 int Array[3][4] = {{7,6,0,4}, {3,5,9,1}, {2,8,3,6}};
https://w.atwiki.jp/vsaturn/pages/36.html
列と行 配列 型 配列名[要素数]; int vc[5]; 前回説明した配列は以上の様に要素数が1つだけでした。これを1次元配列と言います。 実は、配列の要素数は複数定義できるんです。それが、多次元配列です。わかりやすくイメージを図にしたので御覧ください。 図を見るとListAとListBがあります。ListAが1次元配列ですね。要素数が1つ列数のみを定義している形になります。 一方のListBは2次元配列です列数に加えて行数も定義する形になります。 要素数は右から順に見ていきます。言葉で言い表すとListBは要素3の配列が2つあるということですね。 この多次元配列は3次元、4次元と増やしていくことが可能です。用途に合わせた配列を使いましょう。 多次元配列の初期化 int list[ 2 ][ 3 ] = { { 10, 20, 30 }, { 40, 50, 60 } }; /* 1番左の要素は略せる */ int list[ ][ 3 ] = { { 10, 20, 30 }, { 40, 50, 60 } }; } 初期化は以上の様に行います。1番左の要素は省略することができます。 代入などは前回の配列と変わりません。
https://w.atwiki.jp/shinobu2/pages/66.html
配列は複数の値をまとめて管理できる便利なものですが、配列の各要素に代入する値に別の配列を使うことができます。 次の例を見てください。 int kokugo[] = {80, 92, 45}; int sansu[] = {75, 89, 54}; 国語と算数の成績をそれぞれ3人分管理しています。3人分の国語の成績を管理するの配列を一つ利用し、3人分の算数の成績を管理するのに配列を1つ利用しています。 ここでこの二つの配列を値として考え、配列を値として格納するような別の配列を用意します。配列の宣言は次のようになっていました。 型名 配列変数名[]; 作成しようとする配列に格納されるデータ型はint型の値を持つ配列です。つまりデータ型はint[]となります。よって配列を値として持つ配列は次のように記述することができます。 int[] seiseki[]; この配列は名前が「seiseki」で型名がint[]です。ただこの記述方法でもエラーとはなりませんが、通常は次のいずれかの記述方法を使います。 int seiseki[][]; int[][] seiseki; この配列変数は値として配列を格納する配列です。この配列変数を使うことで3人分の成績を格納した配列を値として持つことができます。このような配列は多次元配列と呼ばれるます。 多次元配列の要素の確保 多次元配列であっても配列と違いはないので利用する前に要素の確保が必要であり次のように記述します。 型名 配列変数名[][]; 配列変数名 = new 型名[要素数][]; 例えば2つの要素を持つ場合には次のようになります。 int seiseki[][]; seiseki = new int[2][]; これで多次元配列の要素が確保されました。次に要素に値を格納していきますが、値として格納するのは別の配列です。例えば次のように記述します。 int seiseki[][]; seiseki = new int[2][]; int kokugo[]; kokugo = new int[3]; kokugo[0] = 80; kokugo[1] = 92; kokugo[2] = 45; int sansu[]; sansu = new int[3]; sansu[0] = 75; sansu[1] = 89; sansu[2] = 54; seiseki[0] = kokugo; seiseki[1] = sansu; 丁寧に記述するとこのようになりますが、多次元代入に値として代入する配列を別に作らなくても次のように記述することができます。 int seiseki[][]; seiseki = new int[2][]; seiseki[0] = new int[3]; seiseki[1] = new int[3]; seiseki[0][0] = 80; seiseki[0][1] = 92; seiseki[0][2] = 45; seiseki[1][0] = 75; seiseki[1][1] = 89; seiseki[1][2] = 54; 慣れないと分かりにくいと思いますがseiseki[0]をkokugoにseiseki[1]をsansuに置き換えてみて頂ければ分かると思います。 さらにまとめて次のように記述することができます。 int seiseki[][]; seiseki = new int[2][3]; seiseki[0][0] = 80; seiseki[0][1] = 92; seiseki[0][2] = 45; seiseki[1][0] = 75; seiseki[1][1] = 89; seiseki[1][2] = 54; この場合、int型の値を持つことができる要素を3つ分確保した配列を値として持つことができる要素を2つ確保した配列を作成します。結局のところ多次元配列における要素の確保は次のように記述できます。 型名 配列変数名[][]; 配列変数名 = new 型名[要素数][値の配列の要素数]; また通常の配列と同じように配列の宣言と要素の確保はまとめて次のように記述することもできます。 型名 配列変数名[][] = new 型名[要素数][値の配列の要素数]; よって先ほどまでのサンプルは次のように記述できます。 int seiseki[][] = new int[2][3]; seiseki[0][0] = 80; seiseki[0][1] = 92; seiseki[0][2] = 45; seiseki[1][0] = 75; seiseki[1][1] = 89; seiseki[1][2] = 54; 多次元配列は配列を値として持つような配列であり、複数の変数を使用することで繰り返し処理と組み合わせて多くの値をまとめて処理することができるようになります。 なお今回の多次元配列は2次元の配列でしたが、2次元の配列を値として持つような3次元の配列など何次元の配列でも作成は可能です。 わからないところがあったら以下に書き込んでください。 test -- (test) 2010-12-10 22 01 03 テスト -- (test) 2010-12-10 23 00 34 hosei -- (HOSEI) 2011-01-31 14 10 34 test -- (名無しさん) 2011-01-31 14 10 53 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/shinobu2/pages/68.html
多次元配列の場合も「配列変数名.length」で配列の長さをを取得することができます。 配列変数名.length では多次元配列の場合に取得できる値を確認してみます。次の例を見てください。 int num[][] = {{1, 3, 5}, {2, 4, 6}}; System.out.println(num.length); 多次元配列における要素の数なので、この場合は「2」と出力されます。もしも要素として代入されている個々の配列の要素数を取得したい場合には次のように要素に対して「.length」を付けて取得して下さい。 配列変数名[インデックス].length 具体的には次のように記述します。 int num[][] = {{1, 3, 5}, {2, 4, 6}}; System.out.println(num[0].length); System.out.println(num[1].length); この場合は多次元配列の要素に代入されている配列の要素数をそれぞれ出力しているため、どちらも「3」と出力されます。 多次元配列では次のページで解説するように要素に代入する配列の長さは同じである必要がないため、各要素に代入されてる配列の長さを個々に取得する必要がある場合はこのように「多次元配列名[インデックス].length」で取得して下さい。 わからないところがあったら以下に書き込んでください。 test -- (test) 2010-12-10 22 01 03 テスト -- (test) 2010-12-10 23 00 34 hosei -- (HOSEI) 2011-01-31 14 10 34 test -- (名無しさん) 2011-01-31 14 10 53 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/shinobu2/pages/67.html
配列の各要素に初期値を設定する方法は次のような書式を使いました。 型名 配列変数名[] = {値1, 値2, ..}; 多次元配列の場合は要素に代入される値が別の配列となりますので次のような書式となります。 型名 配列変数名1[] = {値1, 値2, ..}; 型名 配列変数名2[] = {値1, 値2, ..}; 型名 配列変数名[][] = {配列変数名1, 配列変数名2}; 別途作成された配列を値のように記述しています。またさらに次のように記述することもできます。 型名 配列変数名[][] = {{値1_1, 値1_2, ..}, {値2_1, 値2_2, ..}}; 具体的には次のように記述します。 int num[][] = {{10, 8, 5}, {9, 16, 4}, {3, 7, 5}}; 通常の配列では値をカンマ(,)で区切って記述していましたが多次元配列の場合は値の場所に別の配列を記述しています。これは次のように記述した場合と同じです。 int num[][] = new int[2][3]; num[0][0] = 10; num[0][1] = 8; num[0][2] = 5; num[1][0] = 9; num[1][1] = 16; num[1][2] = 4; num[2][0] = 3; num[2][1] = 7; num[2][2] = 5; Javaではプログラムの途中で空白や改行を入れることができますので、初期値が長くなった場合には例えば次のように記述すると分かりやすいかもしれません。 int num[][] = { {10, 8, 5}, {9, 16, 4}, {3, 7, 5} }; 注意点としては通常の配列と同じく必要な要素の分だけ全て値を指定する必要があります わからないところがあったら以下に書き込んでください。 test -- (test) 2010-12-10 22 01 03 テスト -- (test) 2010-12-10 23 00 34 hosei -- (HOSEI) 2011-01-31 14 10 34 test -- (名無しさん) 2011-01-31 14 10 53 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/csharpwiki/pages/32.html
// 二次元配列 int[,] data = { {0, 1, 2}, {3, 4, 5}, {6, 7, 8} }; 二次元配列なら型名[,] 三次元配列なら型名[,,] のように指定する。 初期化するときにnewが要らないのが特徴。 // エラー int[,] data = { {0, 1, 2}, {3, 4, 5}, {6, 7} }; 行ごとの要素数を統一しないとエラーが出る。 // 配列の配列 int[][] data = { new [] {1, 2}, new [] {3, 4, 5} }; Console.WriteLine(data[1][2]); // 5 こちらは配列の中に配列を入れるやり方。 多次元配列と似ているが、行ごとの要素数がばらばらでもエラーが出ない。 通称、ジャグ配列。
https://w.atwiki.jp/csharpmemo/pages/14.html
配列 文法 配列の宣言 型名[,] 変数名; 配列の作成 配列変数 = new 型名[配列の長さ1,配列の長さ2]; 例 class Program { static void Main() { int[,] array = new int[3, 2] { { 11, 12 }, { 21, 22 }, { 31, 32 } }; for (int i = 0; i 3; i = i + 1) { for (int j = 0; j 2; j = j + 1) { Console.WriteLine(array[i,j]); } } Console.ReadLine(); } } 出力 11 12 21 22 31 32 プロパティ Length すべての次元内の要素の総数を表す 32 ビット整数を取得します.; Rank ランク (次元数) を取得します.; SyncRoot アクセスを同期するために使用できるオブジェクトを取得します.; 例 class Program { static void Main() { int[,] array = new int[3, 2] { { 11, 12 }, { 21, 22 }, { 31, 32 } }; Console.WriteLine(array.Length); Console.WriteLine(array.Rank); Console.WriteLine(array.SyncRoot); Console.ReadLine(); } } 出力 6 2 System.Int32[,] 参考文献
https://w.atwiki.jp/javamock/pages/59.html
2次元配列 配列は2次元、3次元、4次元・・・と多次元配列を使用できます。 ここでは2次元配列の説明をします。 2次元配列は以下のように宣言します。 型名[][] 配列変数名; そして値を格納する領域を確保するためにnewを使って以下のように領域確保します。 配列変数名 = new 型名[要素数][要素数]; また、要素への値の代入や参照を行うには以下のようにします。 配列変数[インデックス][インデックス] 2次元配列 使用例 1 TwoDimensionalArraySample1.java class TwoDimensionalArraySample1 { public static void main(String[] args) { // 2次元配列の宣言 int[][] twoDimentionalArray = new int[3][3]; for (int i = 0; i twoDimentionalArray.length; i++) { for (int j = 0; j twoDimentionalArray[i].length; j++) { twoDimentionalArray[i][j] = i*j; } } for (int i = 0; i twoDimentionalArray.length; i++) { for (int j = 0; j twoDimentionalArray[i].length; j++) { System.out.println("twoDimentionalArray[" + i + "][" + j + "] " + twoDimentionalArray[i][j]); } } } } 実行結果 C \java javac TwoDimensionalArraySample1.java C \java java TwoDimensionalArraySample1 twoDimentionalArray[0][0] 0 twoDimentionalArray[0][1] 0 twoDimentionalArray[0][2] 0 twoDimentionalArray[1][0] 0 twoDimentionalArray[1][1] 1 twoDimentionalArray[1][2] 2 twoDimentionalArray[2][0] 0 twoDimentionalArray[2][1] 2 twoDimentionalArray[2][2] 4 以上のように2次元以上の配列の場合でも「length」は使用できます。 以下の箇所のように使用します。 for (int i = 0; i twoDimentionalArray.length; i++) { for (int j = 0; j twoDimentionalArray[i].length; j++) { twoDimentionalArray[i][j] = i*j; } } 2次元配列 使用例 2 以下のようにして2次元配列を初期化宣言することができます int[][] twoDimensionArray = {{0, 1, 2,}, {3, 4, 5,}, {6, 7, 8,}}; TwoDimensionArraySample2.java class TwoDimensionArraySample2 { public static void main(String[] args) { //2次元配列の宣言 int[][] twoDimensionArray = {{0, 1, 2,}, {3, 4, 5,}, {6, 7, 8,}}; for (int i = 0; i twoDimensionArray.length; i++) { for (int j = 0; j twoDimensionArray[i].length; j++) { System.out.println("twoDimensionArray[" + i + "][" + j + "] " + twoDimensionArray[i][j]); } } } } 実行結果 C \java javac TwoDimensionalArraySample2.java C \java java TwoDimensionArraySample2 twoDimensionArray[0][0] 0 twoDimensionArray[0][1] 1 twoDimensionArray[0][2] 2 twoDimensionArray[1][0] 3 twoDimensionArray[1][1] 4 twoDimensionArray[1][2] 5 twoDimensionArray[2][0] 6 twoDimensionArray[2][1] 7 twoDimensionArray[2][2] 8
https://w.atwiki.jp/shiromaty/pages/17.html
二次元配列(多次元配列)から一次元目(指定する次元)の配列の長さ取得 C#で「2次元配列.length」メソッド使うと、配列の中身の個数全部取ってくる。 Javaのように、2次元配列の1次元目の配列の長さをとってくる場合は、「GetLength(int digit)」を使う。 例) string[,] testDatas = { { "aaa", "1", "Yes" }, { "bbb", "2", "No" } } System.Console.WriteLine(testDatas.length); // - 6 System.Console.WriteLine(testDatas.GetLength(0)); // - 2 for ( int i = 0; i testDatas.GetLength(0); i++) { System.Console.WriteLine("testDatas " + testDatas[i,0] + "," + testDatas[i,1] + "," + testDatas[i,2]); } ※ testDatas.GetLength(0) = 2 となる ※ 指定する次元は、0から始まる Javaだと普通にこんな感じ 例) String[][] testDatas = { { "aaa", "1", "Yes" }, { "bbb", "2", "No" } } System.out.println(testDatas.length); // - 2 for ( int i = 0; i testDatas.length; i++) { System.out.println("testDatas " + testDatas[i][0] + "," + testDatas[i][1] + "," + testDatas[i][2]); }
https://w.atwiki.jp/cschola/pages/47.html
C言語スコーラ このページはC言語スコーラ前期のC言語の取りまとめページです。 C++のページはこちら カリキュラム 序章 スコーラの進め方 第一回 プログラムの作り方 文字出力 コメントアウト 第二回 数値の表示 変数 変数の種類 入力を求める インデント 第三回 if文 switch文 第四回 while文 for文 第五回 ここまでのおさらい 練習問題とTIPS 第六回 配列 多次元配列 文字の配列 第七回 関数 値を返さない関数 標準ライブラリ関数 第八回 構造体 列挙型 復習問題 第九回 ファイル分け ヘッダの使い方 extern変数 第十回 ポインタ ポインタ応用編 構造体のポインタ 第十一回 bool型 おまけ ゲーム制作 管理人メモ