A 回答 (9件)
- 最新から表示
- 回答順に表示
No.9
- 回答日時:
エクセルのデーターベースを行ごとに格納するような使いかた。
例としてC言語で説明すると、配列では言語によりデーターの型が一つとなるので、そういう場合は単なる配列ではなく構造体であれば複数のデータ型(文字 文字列 複数の数値の型 論理値など)を混在して扱えます。配列は便利だがもっと便利なのもあるということも。。
配列のイメージ
0 : 125 586 295 459
1 : 158 546 222 125
2 : 565 1554 1 2456
3 : 456 458 457 2
0 : ded de skuyf wjfw
1 : frfr degf frf a
2 : tjtj htrhtr ee gekgo
3 : ggkg ff ghe ggr
一般的には、0 1 2 3と行(何番目のデータなのか?)を指定して処理します。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
No.8
- 回答日時:
複数のデータを固まりで扱いたい場合に便利なのが配列です。
例えば、ある学校の生徒全員分のテストの成績をデータにする場合などがそれで、成績(学年,クラス,出席番号)のような配列を作ります。そうすると、成績と言う変数名1個で学校全体のテストの成績が格納できて、成績(1,2,33)のようにすれば1年2組の出席番号33番の生徒、みたいにピンポイントのデータが簡単に取り出せます。もうひとつ大きいメリットは、繰り返し(ループ)処理と相性が良いという点です。VBだと、以下のような単純なコードで1年2組の生徒全員の平均点数が計算できます。他のプログラミング言語でも同様に、Forループを使えば同じことができます。
For i = 1 To 40 '1クラス40人の場合
平均 = 平均 + 成績(1,2,i)
Next
平均 = 平均 / 40
配列を使わなかった場合は、生徒の人数と同じだけ変数が必要です。生徒数が多い学校でそんなのやってられません。それに平均を出したい場合はループが使えず、全部の変数を1個ずつ足していかなきゃいけない。
No.7
- 回答日時:
データを塊で持ったほうがわかりやすくて楽だな、って時ですかね。
例えば成績表のデータを処理するなら、
陽一です
国語=>3、
算数=>5、
社会=>4
○○太郎
国語=>5、
算数=>2、
社会=>3
みたいに配列でデータを持っていれば、それを作るときも使うときも楽なんです。
配列で持たなければ上記の場合、6個の変数を作らなければならないし、生徒や教科が増減したときにプログラム書き換えなければならなくなったりするので効率が悪い。
配列で持っていれば、「全員の国語の平均を求める」なんてのもforeach文で一発で解決できます。
個別に変数で持っていると、
$youiti_kokugo + $tarou_kokugo + ....
というふうに計算しなきゃならなくなる。
No.5
- 回答日時:
う~む。
プログラムを少しもいじったこと
ない人に説明するのは難しいです。
抽象的な概念しか説明できないです。
逆に言えば、何も難しいことは
ないです。
『列』です。
例えば、人気のあるラーメン屋で
行列を作ってるとしますよね。
Aさんから順番待ちになっています。
ABCDEFGHI
この列が配列です。
例えば、席が3つ空いて、
店員さんが、
『前から3人様どうぞ~』
っていうと、
123人の
ABC
が、お店の中に入っていく
っていう動きがあるわけです。
この、1,2,3って処理をする
『前から3人様どうぞ~』
っていうのが、
コンピュータプログラム言語で、
配列の処理、プログラムで処理
するってことなんです。
どうでしょう?
分かりましたか?
No.4
- 回答日時:
身近な配列をご紹介。
掛け算の九九表 ありますね。
あれ、計算しなくても 表見たら答え分かるでしょ?
あれが配列です。
縦の数字と横の数字を各1選んで 選んだもの同士の先にある交わってるマスが答えですよね。
【配列の説明まとめ】
九九表で、
縦に選んだ要素を列と言います。
横に選んだ要素を行と言います。
列と行が交わったマスには答えが書いてあります。
コンピュータの配列も おおよそ このイメージで使います。
No.3
- 回答日時:
複数の値を持ったデータを保持したい時。
逆に言えば一つの変数に複数の値を一括して保持したい時。
例えば世帯ごとの情報を持ったデータベースのテーブルがあり、世帯ごとの平均年齢を出したい(そういう要求が実際にあるかどうかは別にして)という場合、同一世帯の最大人数は20人としておけば大丈夫だろうと仮定してプロブラム側に「年齢1」、「年齢2」、「年齢3」・・・「年齢20」と20個の変数を用意するのではなく20個の配列を持った変数「年齢」を一個おけばよく簡単ですし、処理するロジックも変数1から順に処理対象世帯の人数分だけ変数名を変えて処理するのではなく配列のポインターを加算しながら(or減算しながら)繰り返し処理(=ループ処理)すればよいので簡潔になります。
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
動的配列のメリット・デメリッ...
-
Excel2010のinputboxで複数デー...
-
EXCEL VBAの課題です
-
VBScriptでCSVファイルを読み出...
-
配列のペースト出力結果の書式...
-
VBA Dowhile 判断条件に動的配...
-
VBA ReDim と ReDim Preserve ...
-
excel vbaの配列なんですが・・・
-
エクセルでXY座標に並べられた...
-
VBA 桁数が混在するソート
-
Excel VBA マクロ ブロック崩し...
-
配列の要素がすべてカラかどう...
-
【VBA】レコードセットからグラ...
-
2次元配列でウォッチが出来ない
-
VBで配列に格納されているデー...
-
VB.NETの配列にExcelから読み込...
-
VBA どっちが速い?
-
Access レコードセットを動的配...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
Dir関数で読み取り順を操作でき...
-
Redim とEraseの違いは?
-
VB.NETの配列にExcelから読み込...
-
VB6のメモリ解放に関して
-
配列の中の最大値とそのインデ...
-
構造体配列内の文字列検索のよ...
-
構造体配列の特定のメンバーをF...
-
VBAでMODE関数をつくる
-
Excel2010のinputboxで複数デー...
-
COBOLの基本的な事なので...
-
Segmentation Fault (メモリ制限?)
-
定数配列の書き方
-
OutOfMemoryExceptionの回避策...
-
VBScriptでCSVファイルを読み出...
-
コンボボックスのインデックス...
-
DBから取得した値を配列へ代入する
おすすめ情報