• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Usuwanie nadmiaru spacji

HackNation - ogólnopolski hackathon
0 głosów
769 wizyt
pytanie zadane 27 kwietnia 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)
char* trim(char* text)
{
    if(text == NULL)
    {
        return NULL;
    }
    char *dwa = text;
    char *jeden = text;
    int zmienna = 0;
    while(*dwa != '\0')
    {
        *jeden = *dwa++;
        if((*jeden >= 'a' && *jeden <= 'z') || (*jeden >= 'A' && *jeden <= 'Z'))
        {
            if(*(jeden + 1) == ' ')
            {
               jeden = jeden + 2;
            }
            else
            {
                jeden++;
            }
        }
    }
    *jeden = '\0';
    return text;
}

Chciałbym sprawić aby podana funkcja usuwała wszystkie spacje z tekstu a zostawało jedynie po jednej spacji między wyrazami. Ma ktoś pomysł jak to poprawić żeby poprawnie działało?

komentarz 27 kwietnia 2020 przez sefir Dyskutant (8,560 p.)
Możesz np. w pętli szukać wystąpień 2 spacji i zamieniać na 1 spację do momentu kiedy nie znajdzie żadnego wystąpienia 2 spacji.
komentarz 27 kwietnia 2020 przez ResCrove Obywatel (1,700 p.)
A jak to zrobić? Rozpisałbyś na szybko?

1 odpowiedź

0 głosów
odpowiedź 27 kwietnia 2020 przez j23 Mędrzec (195,220 p.)
wybrane 27 kwietnia 2020 przez ResCrove
 
Najlepsza
char* trim(char* text)
{
    if (text == NULL) {
        return NULL;
    }
    
    char* p1 = text;
    char* p2 = text;
    
    while ((*p1 = *p2++)) {
        if(!(*p1 == ' ' && *p1 == *p2)) ++p1;
    }
    
    *p1 = 0;
    return text;
}

 

Podobne pytania

0 głosów
1 odpowiedź 1,425 wizyt
pytanie zadane 3 stycznia 2016 w C i C++ przez agre Użytkownik (550 p.)
0 głosów
0 odpowiedzi 427 wizyt
pytanie zadane 15 października 2020 w PHP przez nowyklemens Początkujący (430 p.)
0 głosów
1 odpowiedź 2,430 wizyt
pytanie zadane 3 grudnia 2015 w C i C++ przez Kaydan Początkujący (260 p.)

93,624 zapytań

142,544 odpowiedzi

323,031 komentarzy

63,129 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 968p. - dia-Chann
  2. 959p. - DziarnowskiJ
  3. 941p. - Łukasz Piwowar
  4. 940p. - CC PL
  5. 930p. - Maurycy W
  6. 913p. - Tomasz Bielak
  7. 913p. - Adrian Wieprzkowicz
  8. 906p. - ssynowiec
  9. 899p. - raydeal
  10. 889p. - rucin93
  11. 885p. - Dominik Łempicki (kapitan)
  12. 878p. - Mariusz Fornal
  13. 874p. - robwarsz
  14. 649p. - Michal Drewniak
  15. 632p. - Grzegorz Aleksander Klementowski
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...