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

【C#】整数配列から重複のない要素をすべて出力する方法

C#で整数配列に含まれる重複しない要素(個別の要素)をすべて出力するには、Dictionaryクラスを活用するのが便利です。この記事では、配列とDictionaryを組み合わせて、各要素とその出現回数を表示する方法をわかりやすく解説します。

配列とDictionaryの準備

まず、対象となる整数型の配列と、キー・値のペアを格納するためのDictionaryを用意します。

int[] arr = {
    88,
    23,
    56,
    96,
    43
};
var d = new Dictionary<int, int>();

Dictionaryコレクションを使用すると、リスト内の各要素をキーとして管理し、その出現回数を値として記録することができます。

サンプルコード

以下が、指定された整数配列の個別の要素を表示する完全なコード例です。

using System;
using System.Collections.Generic;

namespace Demo {
    public class Program {
        public static void Main(string[] args) {
            int[] arr = {
                88,
                23,
                56,
                96,
                43
            };
            var d = new Dictionary<int, int>();

            foreach(var res in arr) {
                if (d.ContainsKey(res))
                    d[res]++;
                else
                    d[res] = 1;
            }

            foreach(var val in d)
                Console.WriteLine("{0} occurred {1} time", val.Key, val.Value);
        }
    }
}

コードのポイント

  • ContainsKeyメソッド:Dictionaryにすでに同じキー(要素)が存在するかどうかを判定します。
  • キーが存在する場合は出現回数を+1し、存在しない場合は新しいキーを追加して1を設定します。
  • 最後にforeachループで、各要素(キー)とその出現回数(値)をコンソールに出力します。

実行結果

88 occurred 1 time
23 occurred 1 time
56 occurred 1 time
96 occurred 1 time
43 occurred 1 time

このように、配列内の各要素がそれぞれ1回ずつ出現していることが確認できます。同じ値が複数含まれる配列の場合でも、同様のコードで各要素の出現回数が正しくカウントされるため、重複チェックや集計処理にも応用できます。

  1. C言語で配列の重複を削除し、ソート済みの一意な要素を出力する方法

    整数型の要素を持つ配列が与えられたとき、重複する値を取り除き、一意な(distinct)要素だけをソートして出力するのが本記事の目的です。例として、次のような整数値を格納した配列を考えてみましょう。4, 6, 5, 3, 4, 5, 2, 8, 7, 0この配列を単純にソートすると「0, 2, 3, 4, 4, 5, 5, 6, 7, 8」となりますが、この結果にはまだ重複値である 4 と 5 が含まれています。これらを削除し、最終的な出力結果は次のようになります。0, 2, 3, 4, 5, 6, 7, 8入力と出力の例Input: array[] = {4, 6, 5, 3, 4, 5,

  2. 指定された文字列のすべての順列を出力するPythonプログラム

    本記事では、以下の問題に対する解決策について詳しく学んでいきます。 問題文 1つの文字列が与えられたとき、その文字列から作成できるすべての順列(並べ替えの組み合わせ)を表示する必要があります。 それでは、以下の実装例で具体的な解決策を見ていきましょう。 実装例 # リストを文字列に変換 def toString(List): return .join(List) # 順列の生成 def permute(a, l, r): if l == r: print(toString(a)) else: for i in range(l, r +