а в чем логика того, что вы написали? (зачем внешний цикл)?
выше я имел ввиду то, что мы заменяем символ, который уже считали каким-то другим символом, которого в строке явно не будет (я для примера привел '!', но можно заменить любым другим, который нельзя отобразить, например '\a'), и если при следующем проходе встретили такой символ (на который заменяем все посчитанные), то просто переходим к след. итерации.
0
|