カテゴリー
Ruby

配列のその他の知識を得よう

この章では配列の要素を一度に取り出す方法について説明します。
今までは配列の要素を9のように1つ1つ取り出していましたが、eachを使うことでまとめて取り出すことが出来ます。
詳しい説明は例の後に行います。9 以下の構文で書くことで配列の要素が1つずつ変数に代入されて、実行文で出力されます。
以下の構文の変数名は自由に付けてください。9 上の例のeach doの箇所は次のように書き替えることが出来ます。9 このように書くことで配列のすべての要素を順番に繰り返し取り出してくれます。
出力される順番は以下の通りです。
つまり、配列animalの要素が順に変数iに入り、putsで出力されます。9 結果は以下の通りです。9 次は配列の要素がいくつあるのかを確認する方法について説明します。9 配列のデータの数は以下の構文で取得できます。9 この例では配列の要素が5つあるので結果は5です。
他の方法でも配列の要素数を取得できます。9 結果は以下の通りです。9 では説明をしていきます。
〇「配列.count」という構文で配列の要素数を取得できます。
例の結果は9です
9という構文で指定した要素と同じ要素がいくつあるのかを取得できます。
この例では配列の要素である1が4つありますので、結果は4です。

次の例に進みます。9 この例ではすべての要素をチェックして9という条件に一致した要素の数をカウントします。
つまり、要素の中で2で割り切れるのは2と4だけですので、例の答えは2です。
「==」は右辺と左辺がイコールという意味ですが、この記号は関係演算子と呼ばれています。
また、以下の構文に条件式がありますが、条件式の詳細は「条件分岐ifの公式1」で詳しく説明します。9 以下の通り、結果を変数に入れることもできます。
またcountの中身は行を変えて書いてもいいです。9
次の例も前例と同じ構文です。9 「f+2==4」という条件に一致した要素の数をカウントしています。
条件にあう2が2つありますので、結果は2です。
次は「nil」について説明します。
nilとはオブジェクトが存在しないことを意味します。
つまり何もないと言う意味です。
例えば要素が存在しないのにも関わらず、その添え字を指定して出力するとnilが返されます。9 animalの要素は5つしかないので、9と書いて出力してもその要素は存在しないのでnilが返されます。
結果は以下の通りです。9 もう一つnilの例を見てみましょう。9 =>要素数を指定して配列を作っても、要素が何も入っていない時にはnilが返されます。
pで出力すると解りますが、9と、出力されます。9 そのnilを省いた配列を作成したい場合は9という構文で書きます。
この構文はnilの要素が省かれた新たな配列を作成します。
では例をみてみましょう。9 デバック用のpで出力するとnilが省かれていることがわかります。
結果は次の通りです。9

カテゴリー
Ruby

配列のその他の作成方法を知ろう

配列の作成方法は前の章で説明した方法だけではなく、他にも3つありますので、この章で説明します。
1つ目の配列の作成方法をみてみましょう。9 初めに9 と言う形式で配列の要素数を指定します。
つまり、いくつのデータを作るのかを指定します。
この例ではデータを2つ入れるので要素数を2にしています。
その次に以下のように配列にデータを2つ入れます。9 カラの配列を作ってから、後からデータを入れたい場合には9という形式でカラの配列を作成してから、その後にデータを入れていきます。9 結果は以下の通りです。9 次は2つ目の配列の作成方法をみてみましょう。9 「要素数とデータ」を同時に記述したい場合は9という形式で書きます。
その場合すべての要素に同じデータ(この例の場合は猫)が入ることになります。
結果は以下の通りです。9
次は3つ目の配列の作成方法をみてみましょう。99 と言う形式で配列を作成します。
この例では紙面の都合で配列の要素を2行で書いています。
結果は以下の通りです。99 99という構文で配列の複製を作成することが出来ます。
この例の場合にはanimalを複製してanimal5という新たな配列を作成しています。
結果は以下の通りです。9

カテゴリー
Cシャープ

自動計算プログラムを作ろう

この章では5つの足し算の問題を出して、正解数をカウントするプログラムを作ります。
このプログラムには配列、for文が含まれていますので、これらの使い方に対して理解を深めてください。11111111 11次は初めのfor文の中を説明します。
以下の箇所でそれぞれの変数にランダムな数が入りますが、この章はfor文と配列の学習ですので、この部分の詳しい説明は「占いプログラムを作ろう」で説明します。
この部分は簡単に言いますとクラスという機能を使っているのですが、number1とnumber2には1から50までの数値がランダムに入ります。
今のところは配列とfor文の使い方だけを押さえておいてください。1 111つまり、以下の順序で配列にデータが入ります。11 つまり、以下の順序で配列にデータが入ります。111 結果は以下の通りです。1

カテゴリー
Cシャープ

配列についてを知ろう

この章では配列について説明します。普通の変数は1つしかデータを入れることができません。
つまり、他のデータを入れようとするとデータが上書きされてしまいますが、配列は複数のデータをまとめて入れることができます。
変数と配列の違いを見比べてみましょう。11 11変数の例では1 のように3つの変数が記述されていますが、この3つの変数はお互いに関連しているように見えますが、メモリ上はまったく関連のない別々の変数です。
これを関係性を持たせて、ひとまとめで扱いたい場合は配列を使います。
例えば人の身長、体重、年齢などをお互いに関連させて管理したい場合には配列を使います。
これを変数で1つ1つバラバラに扱うより分かりやすくなります。111111111添え字についてのイメージが湧くように、もう少し説明します。
例えばコインロッカーに荷物を預けるときには番号が振ってあるロッカーに荷物を入れますが、この番号が振ってあるおかげで自分の荷物がどこにあるのかが分かるわけです。
添え字も考え方は同じです。
つまり、添え字は配列のデータがどこに入っているのかを管理する番号です。
そして、その添え字という管理番号は1からではなく、0から始まっています。1 次に配列を作成した後、何もデータを入れなかった場合、どうなるのかをみてみましょう。1 結果は以下の通りです。1 111次の例は「配列の作成」と「初めにデータを入れる作業」を簡単に記述する方法です。
では例をみてみましょう。1 111次は参考までにstringで配列を作ります。
では例をみてみましょう。1 配列で文字列を扱う場合、配列の型名はString[]です。
結果は以下の通りです。1 次は配列に要素が何個入っているのかを調べる方法について説明します。1 1次は配列を別の配列にコピーする方法について説明します。11111

カテゴリー
C++

配列について知ろう

この章では配列について説明します。
普通の変数は1つしかデータを入れることができません(他のデータを入れようとするとデータが上書きされてしまう)が、配列は複数のデータをまとめて入れることができます。
複数のデータを扱う場合、普通の変数では以下のように別々の変数名でそれぞれのデータを入れなければいけませんが、配列を使うと1つの変数名で同じ型のデータを複数入れることができるのです。
同じ目的で使用するデータは1つにまとめてしまい、1つの変数で複数のデータを管理できると便利です。
このような時に配列を使用します。1
では例をみてみましょう。11 変数と同じように配列も宣言をしなくてはいけません。
つまり、「これからこの配列を使います」と宣言をします。
それが以下の構文です。1 この例では以下のように宣言しています。1 これは「初めにint型の要素を4つ用意すること」を意味します。
次は作った配列にデータを入れますが、それが次の箇所です。
4つの要素で宣言したので4つのデータを入れます。11 添え字とはデータを管理する番号です。例えばコインロッカーの箱には必ず番号が付いていますが、この番号があるからこそ、どこに自分の荷物があるのかが分かるわけです。
添え字もこれと同じで、添え字と言う管理番号で配列のどこにデータが入っているのかを管理します。
添え字は0から順番に番号が付けられていきます。
1から数えるのではないので注意してください。1 配列の書き方はこの他にもあります。
それは配列の宣言と初期化を一緒に行う方法です。1 1配列に関する注意点が2つあります。
1つ目は以下の例のように要素数が4つであるにも関わらず、5個のデータを入れようとするとエラーになります。1
2つ目は先ほど配列宣言と同時に初期化を行う基本構文を説明しましたが、以下のように要素数は省略できます。11 この場合は代入するデータの数が配列の要素数になります。
この例の場合は要素数は4つなのでと1同じ意味になります。
次は配列の要素をどのように出力するか見てみましょう。
この例では以下の箇所で配列の要素を出力しています(スペースの都合で2行で書いていますが1行で書いてもいいです)。11 結果は「1234」です。
次は文字列を配列で扱う方法について説明します。
では例をみてみましょう。1 文字列について説明します。
文字列とは複数の文字を並べたものです。char型の文字を複数並べることで文字列を作ることが出来ます。
char型の文字を複数並べるにはchar型の配列を使います。
ではchar型の配列の作成手順について説明します。11 実は文字列(この例ではdog)には文字列の最後に1(ヌル文字と言います)と言う文字が隠れていまして、これは「文字列の終わり」を意味します。
ですので、配列の最後の要素に1を付け加えてください。
その分、配列の要素数も1つ増えるので、配列の要素数も1ではなくて、1になります。
そして、1で出力すると「dog」を出力します。

出力結果には「¥0」は含まれません。
また、char型の配列文字を出力する時の変換指定文字は1になります。1 上の配列を書き換える方法は2つあります。1111

カテゴリー
JavaScript

配列の要素をfor文で取り出そう

この章ではfor文で配列の要素を取り出す方法について説明します。
配列の要素をすべて取り出すには以下の形式でfor文を使用します。
では例をみてみましょう。1 for文のもう一つの使い方ですが、cにはperson1配列の添え字が順番に入ります。
その結果、person1[c]の中のcに順番に添え字が入るので、配列の要素を出力することが可能になります。1 もしくは前の章のfor文の使い方で配列の要素を取り出すことが出来ます。1 0から1までの添え字が順番に1の中のiに代入されますので、すべての配列の要素を出力することが出来ます。

カテゴリー
JavaScript

配列について知ろう

この章では配列について説明します。
普通の変数は1つしかデータを入れることができません(他のデータを入れようとするとデータが上書きされてしまう)が、配列は複数のデータをまとめて入れることができます。
複数のデータを扱う場合、普通の変数では以下のように別々の変数名でそれぞれのデータを入れなければいけませんが、配列を使うと1つの変数名で複数のデータを入れることができます。1 同じ目的で使用するデータは1つにまとめてしまい、1つの変数名で複数のデータを管理できると便利です。
このような時に配列を使用します。
では例をみてみましょう。111 配列の基本構文をみてみましょう。1 [ データ1, データ2,データ3 … ]の部分を配列リテラルと言います。
この例では紙面の都合で配列を2行で書いていますが1行で書いてもいいです。
この例では数字と文字列が混在した1 という4つの要素を持ったperson配列を作成しています。
この他にも配列リテラルには数字だけの1 という形式、
文字列だけの1 という形式など様々な形式で書くことが出来ます。
まだ何も入れたいデータが決まっていないのならば1 のようにカラの要素で配列を作ってから,後で要素を入れていくということも可能です(これは次の例文で説明します)。

次に配列にデータを入れる方法について説明します。1 [ ]の中に入っている数値を添え字またはインデックスと言います。
添え字とは配列に入っているデータがどこに保管されているのかを管理する番号です。
例えばコインロッカーに荷物を預ける場合、必ずロッカーには番号が振ってあります。
この番号があるからこそ、自分の荷物がどこにあるのかが分かるわけですが、添え字も同じ考えです。
つまり、添え字で配列のデータがどこに保管されているのかを管理します。
この例の配列の1番前の添え字0には1が入っていて、配列の前から2番目の添え字1には1が入っていて、配列の前から3番目の添え字2には1が入っていて、配列の前から4番目の添え字3には1が入っています。1 添え字は0から順番に番号が付けられていきます。
1から数えるのではないので注意してください。
もう一度繰り返します。
配列の1番前、つまり1には1という要素が入っていて、配列の前から2番目、つまり1には1という要素が入っていて、配列の前から3番目、つまり1には1という要素が入っていて、配列の前から4番目、つまり1には1という要素が入っています。
そして、5番目の要素として1のように要素を代入しています。
このように後からでも配列に対してデータを追加することが出来ます。
つまり、例の配列は1 と同じ意味になります。
補足ですが、この例での添え字の最大値は4です。
つまり、この例の配列の要素数である5と添え字の最後の添え字である4は1つのずれがあるので注意してください(添え字は0から数えるので当たり前ですが)。

次は配列の要素を出力する方法について説明します。
「配列名[添え字] 」という構文で1などで出力すると添え字で指定した配列の要素を出力できます。
例えば
document.write(person[3]);1に入っている要素である234を出力します。
document.write(person[4]);1に入っている要素である島田を出力します。
次の例はカラの配列を作ってから、要素をそれぞれ代入しています。1 初めに、var person=[];のように要素が入っていないカラの要素を作ります。
それから、以下のようにそれぞれデータを入れていきます。1 結果は初めの例と同じです。
最後に3点補足します
①配列の要素には変数も指定することが出来ます。1
②次の例のように要素が4つしかない配列に、添え字が8の要素に対してデータを代入したらどうなるでしょうか?1 「person[8]=”島田”;」で添え字8の要素に1を代入することで、9つの要素を持つ配列が作成されたことになります。
では添え字が4から7の要素はどうなるでしょうか?
例を実行してもらうと解りますが、undefinedが出力されます。
undefinedは未定義値と言う意味です。
結果は以下の通りです。1
③次は先ほどとは違う形式で配列を作成します。
Arrayクラスのオブジェクトを使います。
オブジェクトの意味はまだ説明していないので、形だけ覚えてください。
Arrayクラスのオブジェクトで配列を作成する基本構文は3つあります。1
では1のパターンから説明します。1 では説明を始めます。
初めに1のようにカラの要素を持つ配列を作ります。
(var person=[];と同じ)
後はperson[0]=”芥川”;のようにデータを入れていきます。

次は2のパターンです。1 配列の要素を5個作成するので1と記述しています。
つまり、カッコの中の数値は配列の要素数を入れます。
後は1のパターンと同じようにデータを入れていきます。

次は3のパターンです。1 この形式では以下のように直接1の中に要素を書き込んでいきます。1 これは以下の配列と同じ意味です。1

カテゴリー
Java

配列について知ろう

この章では配列について説明します。
変数は1つの値しか保存できませんが、配列は複数のデータをひとまとめに扱うことが出来ます。
変数と配列の違いを比べてみましょう。
最初の例は普通の変数で書いたプログラムです。1 次は配列の例をみてみましょう。11 変数の例には3つの変数が記述されていますが、一見するとこの3つの変数はお互いに関連しているように見えますが、1つ1つの変数は全く別々の変数です。
専門的に言いますと変数の保存場所が3つとも別と言う意味です。
これらの変数同士を結び付けているのはプログラマ自身です。
int test1=22;
int test2=23;
int test3=33;
これらの複数の変数を1つの変数として扱いたい場合には配列を使うと便利です。
例えば人の身長、体重、年齢などを別々の変数で管理するのではなく、ひとまとめに管理したい場合に配列を使います。
では配列の作り方について説明します。
配列を使うには初めに配列の宣言をします。1 この例では「int[] test;」の部分が配列の宣言です。
double型のデータを入れたいのであれば1と書きます。
stringのデータを入れたいのであれば1です。
宣言の後にすることは配列に入れるデータの数を決めることです。1 test=new int[3];
=>「配列の宣言」をした後は配列の要素(データ)をどんな型でいくつ作るかを決めて、new演算子で作成します。
この例では配列の要素をint型で3つ作っています。
そして、作ったものを配列(この例ではtest)に代入します。

次は配列の宣言と要素数の作成を1行で書く方法について説明します。1 int[] test;と1は以下のように1つにまとめることが出来ます。1

次は作った配列にデータを入れる方法について説明します。
基本構文は以下の通りです。1 この例ではint型の要素を3つ持った配列を作ったので、以下のようにデータを入れていきます。1 [ ]の中に[0][1][2]と数値が入っていますが、この数値をインデックス番号もしくは添え字と言います。
添え字は0から順番に番号が付けられていきます。
添え字とは配列のデータがどこに保管してあるのかを管理する番号です。
例えばコインロッカーには番号が振ってありますが、この番号があるからこそ、どこに荷物があるのかが分かるように、添え字も考え方は同じです。
つまり、この例は以下のような意味があります。
配列testの0番目には22という要素が入っていて、配列testの1番目には23という要素が入っていて、配列testの2番目には34という要素が入っています。
次に1で合計して1で出力しています。

次の例は配列の宣言とその配列にデータを入れる作業を簡単に記述する方法について説明します。1 以前は1 と、記述していましたが、
例のように1と記述すれば1行で済みます。1 また、他の書き方として1のように書くことが出来ます。
基本構文は以下の通りです。1
では次は参考までにStringで配列を作ってみましょう。
今まで見てきた配列の構造と作り方は同じです。1 結果は次の通りです。1
次は配列に要素が何個入っているかを調べる方法について説明します。
では例をみてみましょう。1 配列の中の要素数を調べるには1と、書きます。
配列名とlengthの間に1があるので気を付けてください。
結果は1です。

カテゴリー
C言語

ポインタを使ってみよう

この章ではポインタについての具体例と配列のアドレスについて説明します。
以下の例は変数のアドレスを関数に渡し、ポインタ変数で受け取っている例です。1111 tashizan関数の中では*aと5を足して*aに代入し、*bと5を足して*bに代入しています。
*aには変数xのアドレスが入っているので、*aとxは同じ意味になります。
*bには変数yのアドレスが入っているので、*bとyは同じ意味になります。11
次の例では配列のアドレスとポインタについて説明します。11初めに配列のアドレスを取得する方法について説明します。1 つまり、配列名を書くだけで配列xの一番前のアドレスが取得できます。
配列自体のアドレスは配列の先頭アドレスを指すということです。

1 1 xが先頭のアドレスを示すので、「+1」を付け加えることで先頭から一つアドレスを進めると言う意味になります。
これは1と同じ意味になります。
1は前から2番目のアドレスを意味します。
では前から3番目のアドレスを得るためにはどうしたらいいでしょうか?
結果は以下のように1もしくは1と書いてください。1 次に配列の要素をポインタで取り出す方法について説明します。1 =>*(x+0)と書くと配列の先頭要素を取り出すことが出来ます。1 「数値」に添え字を書きますとその添え字に相当する要素を取得できます。
「*(x+0)」は「*x」と同じですので、以下のようにも書くことができます。1 つまり、「*配列名」と書いても配列の0番目の要素を取得できます。
配列の前から2番目の要素を取得するには1と書きます。
配列の前から3番目の要素を取得するには1と書きます。
結果は以下の通りです。1
次の例ではポインタの加算を使った値の書き換え方法について説明します。11 hairetsu(x);の箇所で配列xのアドレスをhairetsu関数のポインタ変数である1に渡しています。
そして、*(g+0)=34;の箇所で配列の一番前の要素に34を代入して、
*(g+1)=46;の箇所で配列の前から二番目の要素に46を代入して、
*(g+2)=98;の箇所で配列の前から三番目の要素に98を代入しています。1 hairetsu関数内で書き換えた結果、main関数の配列xの要素である「1,2,3」が「34,46,98」に書き換えられます。
先ほどの例をfor文を使って書き換えると以下のようになります。11
次はポインタに関する演算について説明します。11この例ではポインタ*gに配列xのアドレスを入れています。1 gにはxの先頭要素のアドレスが入っているので、「*」を付けることで1番前の要素の値を得ることができます。
結果は4です。1 g++;(加算子)とありますが、これはポインタを1つ先に進めると言う意味です。
つまり、ポインタに加算子を使っているわけです。
最初のg++;でポインタを進めた後に1と出力すると、前から2番目の要素の値である6を得ることが出来ます。
さらに2つ目のg++;でポインタを進めると8が得られます。1
では次の例に進みます。11 これまでは配列のアドレスを関数本体の仮引数に渡す時、ポインタで受け取っていましたが、今度は他の方法で配列を関数に渡します。
hairetsu(x);のように配列のアドレスを渡すまでは同じですが、関数本体のほうは1のように配列で受け取っています。
そして要素の数(3)だけ繰り返しループして、1の結果をg配列に代入しています。
つまりg[i]のiに0から2までが代入され、その都度1の計算結果が代入されることになります。1 配列xと配列gはまったく同じなので(xもgも同じアドレスを示しています)、この例の結果は1になります。

では次の例に進みます。11仮引数にポインタを指定した場合、これまでは1 のように代入していましたが、実はこのような難しい表現を使わなくても、1のようにポインタに1を付けて値を代入することもできます。
g[i]のiに0から2までが代入され、その都度1の計算結果を代入します。1 結果は「6と6と6」です。
次は文字列を扱う配列とポインタの関係について説明します。1 配列の章で学習しましたが、文字列を配列で扱う時には型をcharにして、1のように書きます。
この配列をポインタを使って書き換えると以下のように書くことが出来ます。1 このようにchar型のポインタに文字列を入れることができます。11
では次の例に進みます。11 関数の引数にポインタを使用している場合に、引数の値を変更したくない時があります。
そのような時にconstを仮引数の前に指定します。
関数の引数に const を指定すると、その関数の中では値を書き換えることができなくなります。
ですので、1のような記述はできませんので、この例はエラーになります。

次の例は2次元配列とポインタの関係について説明します。1 複数の文字列を配列に入れるには配列のポインタを使用します。
基本構文は以下の通りです。1 配列のポインタを出力する方法は普通の配列と同じように添え字を使って出力します。11

カテゴリー
C言語

配列について知ろう

この章では配列について説明します。
普通の変数は1つしかデータを入れることができません。
他のデータを入れようとするとデータが上書きされてしまいます。
それに対して、配列は複数のデータをまとめて入れることができます
複数のデータをまとめて扱う場合、普通の変数では以下のように別々の変数名でそれぞれのデータを入れなければいけません。1 それに対して配列を使うと次のように1つの変数名で同じ型のデータを複数入れることができるのです。
同じ目的で使用する変数は1つにまとめてしまい、1つの変数で複数の要素を管理できると便利です
このような時に配列を使用します。
では例をみてみましょう。
11 変数と同じように配列も以下のように宣言をしなくてはいけません。
つまり、「どの型名でいくつのデータ」を扱う配列を作成するのかを宣言します。1 要素数とは配列に入れるデータの数です。
この例では以下のように宣言しています。
int person[4];
これはint型の要素が入る箱を4つ用意することを意味します。
宣言をした後にはデータを入れるのですが、それが次の箇所です。
箱を4つ用意したので入れるデータも4つです。1 配列にデータを入れる基本構文は以下の通りです。1 構文の[ ]の中に入っている数値を添え字またはインデックスと言います。
添え字とはデータが入っている場所を意味します。
例えば、コインロッカーには番号が振ってありますが、この番号があるからこそ、どこに自分の荷物があるのかが分かるわけです。
添え字の考え方も同じで、0から始まっている番号で配列のデータを管理します。1 添え字は0から順番に番号が付けられていきます
1から始まるわけではないので注意してください。
配列の書き方はこの他にもあります。
それは配列の宣言と初期化を一緒に行う方法です。1 右辺はデータをカンマで区切ります。
上の構文で、最初の例で作成した配列を書き換えると以下のようになります。1 配列に関する注意点が2つあります。
1つ目は以下の例のように要素数が5つであるにも関わらず、6個のデータを入れようとするとエラーになります。1 2つ目は配列の2つ目の書き方を紹介しましたが、以下のように要素数を省略できます。1 1この場合は代入するデータの数が配列の要素数になります。
上の例の場合は要素数は6つなので、自動的に6を指定したことと同じ意味になります。1
次は配列の要素を出力する方法について説明します。
以下が配列の要素を出力している箇所です(紙面の都合で2行で書いていますが、1行で書いてもいいです)。11
次は文字列を配列で扱う方法について説明します。1 文字列とは複数の「文字」を並べたものです。
char型の文字を複数並べることで文字列を作ることが出来ます。
char型の文字を複数並べるにはchar型の配列を使います。
char型の配列の作成手順は以下の通りです。
最初にchar型の配列を宣言してください。1 次に配列の要素に1文字ずつ入れていきます。1 実は文字列(この例ではdog)には文字列の最後に1(ヌル文字と言います)と言う文字が隠れていまして、意味は1を意味します。
ですので、配列の最後の要素に1を付け加えてください。
その分、配列の要素数も1つ増えるので、配列の要素数も1ではなくて1になります。
配列を出力している箇所は以下の箇所です。1 結果は「dog」 を出力します。
char型の配列文字を出力する時の変換指定文字は1になります。1111