C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で偶数と奇数の整数を別々の配列に分割する方法

C#では、剰余演算子(%)を使うことで、配列内の整数を偶数と奇数に振り分け、それぞれ別の配列に格納することができます。本記事では、その具体的な実装方法をサンプルコードとともに解説します。

基本的な考え方

まず、偶数と奇数を格納するための2つの配列を用意します。

int[] arr2 = new int[5];
int[] arr3 = new int[5];

ある要素を2で割った余りが0であれば、その要素は偶数です。この条件に合致した要素を取り出し、別の配列へ追加していきます。以下のコードでは、forループで元の配列の長さ分だけ繰り返し処理を行っています。

if (arr1[i] % 2 == 0) {
    arr2[j] = arr1[i];
}

else側の条件分岐では奇数の要素が得られます。これらを独立した配列に追加し、後から個別に表示します。

完全なサンプルコード

以下に、1つの配列から偶数と奇数を抽出して別々の配列に分割し、それぞれを出力するプログラム全体を示します。

using System;
namespace Demo {
    public class Program {
        public static void Main(string[] args) {
            int[] arr1 = new int[] {
                77,
                34,
                59,
                42,
                99
            };
            int[] arr2 = new int[5];
            int[] arr3 = new int[5];
            int i, j = 0, k = 0;
            for (i = 0; i < 5; i++) {
                if (arr1[i] % 2 == 0) {
                    arr2[j] = arr1[i];
                    j++;
                } else {
                    arr3[k] = arr1[i];
                    k++;
                }
            }
            Console.WriteLine("Even numbers...");
            for (i = 0; i < j; i++) {
                Console.WriteLine(arr2[i]);
            }
            Console.WriteLine("Odd numbers...");
            for (i = 0; i < k; i++) {
                Console.WriteLine(arr3[i]);
            }
        }
    }
}

実行結果

上記のプログラムを実行すると、次のように偶数と奇数がそれぞれ別々に出力されます。

Even numbers...
34
42
Odd numbers...
77
59
99

処理のポイント

  • 剰余演算子(%)の活用: 「arr1[i] % 2 == 0」がtrueなら偶数、falseなら奇数と判定できます。
  • インデックス変数の管理: 偶数用のカウンタ「j」と奇数用のカウンタ「k」を別々に用意することで、各配列の末尾に要素を順番に追加できます。
  • 出力時の範囲指定: 分割後の配列には未使用の領域が残るため、表示する際は実際に格納された要素数(jおよびk)までループさせる点に注意しましょう。

この手法は、LINQを使用せずにシンプルな条件分岐だけで実装できるため、C#の基礎を学ぶ際にも非常に役立ちます。

  1. Pythonで奇数桁と偶数桁の合計の差を判定するプログラム

    この記事では、与えられた問題を解決するための解法とアプローチについて詳しく解説します。 問題文 整数が1つ与えられたとき、奇数桁の合計と偶数桁の合計の差が0であるかどうかを判定する必要があります。 素朴なアプローチ(ブルートフォース) 最も単純な方法は、数値を構成するすべての偶数桁と奇数桁の合計をそれぞれ計算し、その差を求めることです。しかし、この方法では各桁を順番に処理するため、桁数に比例した計算時間が必要になります。 効率的なアプローチ:11の倍数判定を活用 計算時間を削減するために、「暗算の数学」でよく知られている性質を利用します。それは「ある整数の奇数桁の合計と偶数桁の合計の差が0にな

  2. 【Python】約数の個数が偶数か奇数かを判定するプログラムの書き方

    この記事では、ある整数の約数の個数が偶数か奇数かを判定するPythonプログラムについて、その考え方と実装方法をわかりやすく解説します。 問題文 ある数「n」が与えられたとき、その約数の総数が偶数であるか奇数であるかを判定してください。 例えば、n = 10 の場合、約数は 1, 2, 5, 10 の4つなので「偶数」。一方、n = 100 の場合は 1, 2, 4, 5, 10, 20, 25, 50, 100 の9つとなり「奇数」となります。 アプローチ:約数を実際に数える 最も基本的な方法は、すべての約数を見つけ、その個数が偶数か奇数かをチェックすることです。 ここで重要なのは、約数