Zliczanie liter w tekście

Zliczanie liter w tekście

Jak policzyć wystąpienie każdego znaku w tekście.

To rozwiązanie używa kontenera klucz wartość (słownik).
W pętli przechodzimy przez każdy znak w tekście
i każdy nowy znak odkładamy do słownika z wartością 1
a w przypadku już istniejącego znaku zwiększamy wartość o 1
na koniec metoda zwraca słownik.

private static Dictionary<char, int> CountCharacters(string text)
{
   var countCharacters = new Dictionary<char, int>();

   foreach (var mark in text)
   {
      if (mark != ' ')
      {
         if (!countCharacters.ContainsKey(mark))
            countCharacters.Add(mark, 1);
         else
            countCharacters[mark]++;
      }
   }
   return countCharacters;
}   

Prezantowanie wyników.

private static void DisplayResults(Dictionary<char, int> result)
{
   Console.WriteLine("Oto ile było wystąpień każdego znaku w ciągu");
   foreach (var keyValue in result)
   {
      Console.WriteLine($"Znak : {keyValue.Key}   Ilość wystąpień : {keyValue.Value}");
   }
}

I teraz sprawdzamy nasze rozwiązania.

static void Main(string[] args)
{
   var text = @"ala ma kota i psa i inne zwierzaki oraz x-mana";
   var result = CountCharacters(text);
   DisplayResults(result);
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *