Изменить каждое слово в строке, удалив из него все последующие вхождения первой буквы этого слова не изменяя количество пробелов

Дано предложение, слова в котором разделены пробелами (одним или несколькими). Изменить каждое слово в строке, удалив из него все последующие вхождения первой буквы этого слова (количество пробелов между словами не изменять). Вот мой код

#include <iostream>
#include <cstring>

using namespace std;
void check(char *input){
char* Letter = strtok(input, " ");
while (Letter != NULL){
    char _Letter = Letter[0];

for (int i = 1; i < strlen(Letter); i++)
    if (Letter[ i ] == _Letter)
        Letter[ i ] = ' ';

cout << Letter << " ";
Letter = strtok(NULL, " ");
}
cout << endl;
}
int main(){
    setlocale(LC_ALL , "Ukrainian");
    char *input = new char[100];
    gets(input);
    check(input);
    return 0;
}

Он убирает первое вхождение буквы,но изменяет количество пробелов между словами,тоесть если было 4 пробела,должно остаться 4,но сбрасывается до одного пробела.Обязательно должно остаться условие что используется символьный массив.Помогите пожалуйста


Ответы (0 шт):