第7講 多次元配列と1次元配列の関係
第3話 第6講第3話の課題を1次元配列と1次元For文のみによって実現する
を1次元配列
int[] a = new int[12];
と1次元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) //私は社長だ。
{
f();
}
static void f()
{
int[] a = new int[12];
Random r = new Random();
//以下データ生成
for (int i = 0; i < 12; i++)
{
a[i] = r.Next(100);
}
//以下行列データ表示
for (int i = 0; i < 12; i++)
{
if (i > 0 && i % 4 == 0) Console.WriteLine(); //改行
if (a[i] < 10) Console.Write(" {0:d} ", a[i]); //1桁の場合
if (a[i] >= 10) Console.Write("{0:d} ", a[i]); //2桁の場合
}
Console.WriteLine(); //改行
}
}
}
解説
1次元for文にした際に難しい点は、
改行どうするかです。
|
0 | 1 | 2 | 3 | ||||||
0 | 0 | 1 | 2 | 3 | ||||||
1 | 4 | 5 | 6 | 7 | ||||||
2 | 8 | 9 | 10 | 11 |
(同色が1次元の場合のiに対応、以下も色対応にご注意!)
上の表をご覧になれば、iが4で割り切れるときに、
改行すれば良いことがわかります。
ただし、0で改行してもらっては困るので、
i > 0 && i % 4 == 0となっています。
では、第6講第4話の課題
を1次元配列によって、実現して下さい。
ただし、データ生成とデータ表示はすべて2次元for文で行うものとします。