【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回ずつ出現していることが確認できます。同じ値が複数含まれる配列の場合でも、同様のコードで各要素の出現回数が正しくカウントされるため、重複チェックや集計処理にも応用できます。
-
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,
-
指定された文字列のすべての順列を出力する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 +