5.00 / 1 oy

C# Dizi Elemanlarının Kaç Kere Tekrarlandığını Bulmak

Önceki yazım için bkz: C# Dizi Elemanlarının Toplamı Nasıl Bulunur?

Bu gece paylaşmak istediğim ikinci dizi problemi ise, bir dizide her bir elemanın kaç kere tekrarlandığını bulmak. Alternatif yollar geliştirmek her zaman olduğu gibi yine mümkün olsa da iki farklı örnek üzerinden farklı çözümleri paylaşıyorum.

Örnek 1: {1, 2, 1, 6, 1, 7} dizisinde her bir sayının kaç kere tekrar ettiğini bulun.

Çözüm: 

Dictionary<int, int> Dsayilar = sayilar
    .GroupBy(item => item)
    .ToDictionary(item => item.Key, item => item.Count());
            
foreach (KeyValuePair<int, int> sayi in Dsayilar)
{
    Console.WriteLine("{0} sayısı {1} kere tekrar etmiştir", sayi.Key, sayi.Value);
}

Çıktı:

1 sayısı 3 kere tekrar etmiştir
2 sayısı 1 kere tekrar etmiştir
6 sayısı 1 kere tekrar etmiştir
7 sayısı 1 kere tekrar etmiştir

Örnek 2: {"a", "r", "a", "b", "a"} dizisinin içerisinde a karakterinin kaç kere tekrar ettiğini bulun.

Çözüm 1: Tüm harfler için

string[] arabalar = {"a", "r", "a", "b", "a"};
var arbs = arabalar.GroupBy(v => v);
foreach (var a in arbs)
    Console.WriteLine("{0} harfi {1} kere tekrar etmektedir", a.Key, a.Count());

Çıktı:

a harfi 3 kere tekrar etmektedir
r harfi 1 kere tekrar etmektedir
b harfi 1 kere tekrar etmektedir

Çözüm 2: Sadece a harfi için

string[] arabalar = {"a", "r", "a", "b", "a"};
int sayi = 0;
foreach (string araba in arabalar)
{
    if (araba == "a")
        sayi++;
}
System.Console.WriteLine(sayi);

Çıktı: 3

 

Önceki yazılarımdan bazıları için;

bkz: C# ile iki tarih arasında kaç gün olduğunu bulmak

bkz: C# ile while döngüsü kullanımı ve örnekleri

bkz: C# ile Do While döngüsü kullanımı ve örnekleri

bkz: C# ile iç içe while döngüsü kullanımı ve örnekleri

bkz: C# Sayıları Yuvarlama Seçenekleri

bkz: C# ile 3'e ve 5'e tam olarak bölünebilen sayıları bulmak

mbologlu

13.04.2021 05:19

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
C# Dizi Elemanlarının Kaç Kere Tekrarlandığını Bulmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.