第6講 配列
第2話 配列の宣言と使い方
そのやり方は、
     int[] a = new int[10000];
です。これで1万個の変数が用意できます。
どのような変数が用意できたかと申しますと、
a[0],a[1],a[2],・・・,a[9999]
の1万個です。
最後がa[10000]でないことに注意して下さい。
0から始まっていますので、9999が1万個目になるのです
これを忘れて、
  a[10000]=5;
などするとエラーします。
配列のことを添え字付き変数ともいいます。
添え字とは[]内の数字です。
配列は、一瞬にして多くの変数を用意できるだけでなく、
添え字が、for文の制御変数で制御できるという大変大変大きなメリットを持っています。
例によって具体例を示しましょう。
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      int[] x = new int[10];
      for (int i = 0; i < 10; i++) x[i] = i + 1;
      for (int i = 0; i < 10; i++)
      {
        Console.Write("{0:d} ", x[i]);
      }
      Console.WriteLine();
    }
  }
}

実行画面
1 2 3 4 5 6 7 8 9 10

このコードを
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      int x0, x1, x2, x3, x4, x5, x6, x7, x8, x9;
      for (int i = 0; i < 10; i++) xi = i + 1;
      for (int i = 0; i < 10; i++)
      {
        Console.Write("{0:d} ", xi);
      }
      Console.WriteLine();
    }
  }
}
等とするとエラーします。
同じ添え字でもx0とx[0]では天と地ほど違うのです。
配列の添え字は、制御変数で制御できる!
これが大きなメリットなのです。

さて、なるべく仕事は部下にやらせて、
main()は指令役に徹するが原則ですから、
この講のこれ以降のコードは
//以下C#を始めるためのお呪い
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//以上C#を始めるためのお呪い
namespace a //初心者はお呪い=決まり事と思い一切気にしない
{
  class Program //初心者はお呪い=決まり事と思い一切気にしない
  {
    static void Main(string[] args) //私は社長だ。
    {
      f();
    }
    static void f()
    {
      int[] x = new int[10];
      for (int i = 0; i < 10; i++) x[i] = i + 1;
      for (int i = 0; i < 10; i++)
      {
        Console.Write("{0:d} ", x[i]);
      }
      Console.WriteLine();
    }
  }
}
という形にします。
変数そのものや配列そのものを
実質渡すことことは第8講で扱いますので、
現時点では、上のように書き換えることは余り意味がありませんが、
なんでも社長自ら仕事をやってしまうという悪癖を付けないための
次善の策です。
第8講で配列や変数を
実質渡すということを学んで、
それを実行すれば書き換えにははっきりと意義が生まれます、
ということを断っておきましょう。
実質が繰り返されている理由は、
ポインタを使っても箱そのものを渡せるわけではないからです。
箱そのものを渡せないのに仕事を依頼した人に自分専用の箱を使ってもらうという−−−
魔法にような方法をC#は持っているのです。
では問題です。
関数f()に2次元のデータ作成と表示をやらせて、
41 67 34 0 69 24 78 58 62 64
(データは毎回異なります。)

を実現して下さい。
もちろん配列を利用することが条件です。
発生させるデータは100未満のランダムな整数です。


第1話へ   第3話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ