Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,037 questions

40,897 answers

573 users

How to replace each repeated letter in a string with one letter in C

1 Answer

0 votes
#include <stdio.h>

void replaceEachRepeatedLetterByOneLetter(char* str) {
    int index = 0;
    
    for (int i = 0; str[i] != '\0'; i++) {
        if (i == 0 || str[i] != str[i - 1]) {
            str[index++] = str[i];
        }
    }
    
    str[index] = '\0';
}

int main() {
    char str[] = "aabbbccccccccccdefgggggggggggg";

    replaceEachRepeatedLetterByOneLetter(str);
    
    printf("%s", str);
}


 
 
/*
run:
    
abcdefg
    
*/

 





answered Mar 1 by avibootz
...