一週間で身につくC# の勉強中10

もう一つのprob8-9

長さ10の整数型の配列変数に、1から100の整数をランダムに代入し、その値を偶数と奇数に分類して、それぞれの値を入れる配列に再代入し、その値を以下の例のように表示しなさい。

例 1  10  22  51  3  17  21  98  100  2 偶数:10  22  98  100  2 奇数:1  51  3  17  21

考え方のポイント

ランダムの数字を配列にいれ、それを書き出します。偶数の数を書き出すためにもう一度配列を読み込みます。奇数の数を書き出すために3度目の読み込みをします。配列の長さがわからないので、偶数や奇数の数値を書き出すのに配列が使えません。(リストを使えるようになれば長さが決まってなくてももっと短いプログラムが作れるようです。)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prob8_9_2__2
{
    class Program
    {
        static void Main(string[] args)
        {
            int [] li = new int[10];
            Random r = new Random();
            for(int i = 0; i < 10; i++)
            {
                li[i] = r.Next(1, 101);
            }
            foreach (int i in li)
            {
                Console.Write("{0} ", i);
            }
            Console.WriteLine();
            Console.Write("偶数:");
            foreach (int i in li)
            {
                if (i % 2 == 0)
                {
                    Console.Write("{0} ", i);
                }
            }
            Console.WriteLine();
            Console.Write("奇数:");
            foreach (int i in li)
            {
                if (i % 2 != 0)
                {
                    Console.Write("{0} ", i);
                }
            }
            Console.WriteLine();
        }
    }
}