0

Нужно написать алгоритм который подсчитает сколько элементов одного вида в строке. Начал делать, попал в тупик:

using System;
using System.Text.RegularExpressions;
namespace Reverse_String
{
    internal class Program
    {
        static void Main(string[] args)
        {
        string a = Console.ReadLine();
        var str = Regex.Replace(a, "[-.?!) ;(,:]", "").ToLower();
        char[] ch = new char[str.Length];
        for (int i = 0; i < str.Length; i++)
        {
            ch[i] = str[i];
        }

        for (int i = 0;i < ch.Length; i++)
        {
            int k = 0;
            for(int j = 0; j < ch.Length; j++)
            {
                if (ch[i] == ch[j])
                {
                    k++;
                    Console.WriteLine($"{ch[i]}  {k}");

                }
            }
        }
        Console.ReadLine();
    }
}

}

Пример: Корова к-1, о-2, р-1, в-1 , а-1. Подскажите Пожалуйста, что делаю не так, где ошибся.

  • 1
    Помню был такой вопрос, для букв аналогично, только разбивать не надо. – EvgeniyZ Feb 18 '22 at 19:57
  • @EvgeniyZ Подставил, что-то не получилось или я чего-то не понял. Не могли бы объяснить? Или написать как это должно выглядеть. Пожалуйста. – Кемаль Feb 18 '22 at 20:32
  • 2
    Вы это сейчас серьезно? В том ответе от меня подробнейшее объяснение, ну и тут я вам сказал "только разбивать не надо". Убрали .Split(), написали нужное слово, получили нужный результат. Плохо, когда не хочется думать... – EvgeniyZ Feb 18 '22 at 20:38
  • 1
    @EvgeniyZ Тысяча благодарностей. Всё, догнал. Спасибо – Кемаль Feb 18 '22 at 20:51
  • @EvgeniyZ закроем как дубль? – tym32167 Feb 18 '22 at 21:11
  • @tym32167 Ну у вас дубина есть, конечно закрывайте) – EvgeniyZ Feb 18 '22 at 21:15

0 Answers0