0

Алгоритм, считающий вхождение каждого символа в строку. Проблема в том что при построении цикла, где-то что-то не учел, выводит каждый шаг подсчета, при любом изменении работает не корректно:

using System;
using System.Linq;
namespace Reverse_String
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string arr = Console.ReadLine().ToLower();
            string result = "";
            foreach (var val in arr)
            {
                if (!result.Contains(val))
                {
                    int count = 0;
                    for (var i = 0; i < arr.Length; i++)
                    {
                        if (arr[i] == val)
                            count++;
                    }
                    Console.WriteLine(result += val + "-" + count + " ");
                }
            }
            Console.ReadLine();
        }
    }
}

Как нужно поменять цикл, что бы результат выводился только конечный?

Пример вывода:

Hello World
h-1
h-1 e-1
h-1 e-1 l-3
h-1 e-1 l-3 o-2
h-1 e-1 l-3 o-2 w-1
h-1 e-1 l-3 o-2 w-1 r-1
h-1 e-1 l-3 o-2 w-1 r-1 d-1

А нужно что бы вывел вот так:

Hello World
h-1 e-1 l-3 o-2 w-1 r-1 d-1
  • "где-то что-то не учел" --- Используйте отладку ↑↑↑ – Алексей Шиманский Feb 19 '22 at 18:28
  • @АлексейШиманский Спасибо – Кемаль Feb 19 '22 at 18:32
  • 2
    То есть, вы задали повторно вопрос, где я вам дал ссылку на дубликат, с полностью рабочим кодом, который решает вашу задачу, вы скопировали от туда код, не разобравшись что он делает испортили его, а теперь задаете вопрос "как фиксить", я правильно понимаю? – EvgeniyZ Feb 19 '22 at 18:53
  • @EvgeniyZ вот поэтому не надо за других решать задачи)) надо закрывать "до разбирательства". – Алексей Шиманский Feb 19 '22 at 18:56
  • @EvgeniyZ Здравствуйте. Да, так и сделал. Что поделать, студент, выживаем как можем, пользуемся всем. Прошу понять, и простить) – Кемаль Feb 19 '22 at 19:12
  • 2
    @Кемаль Извините, но мне это не понять. И тут дело не в копипасте или чем либо еще, а в том, что вы скопировали к себе полностью рабочий код, который я уверен, изначально вам дал нужный результат (вы об этом мне вчера сами сказали), затем вы непойми зачем его изменили и вместо того, чтоб сверится с оригиналом, пошли на SO спрашивать "что не так?", где вам в итоге обратно вернули ту строку, которая была в оригинале. Логично? Не думаю... Я бы понял еще, если бы вы не поняли "почему так" и просили бы объяснить, но судя по принятому ответу, вам на понятие алгоритма грубо говоря, плевать... – EvgeniyZ Feb 19 '22 at 19:19

1 Answers1

2
                //Console.WriteLine(result += val + "-" + count + " ");
                result += val + "-" + count + " ";
            }
        }
        Console.WriteLine(result);