Skocz do zawartości

Zliczanie ilości wskazanych znaków w Stringu


Pomocna odpowiedź

Jak pracujesz na obiektach klasy String to koniecznie zapoznaj się z funkcjami tej klasy:

https://www.arduino.cc/reference/en/language/variables/data-types/stringobject/

Znajdziesz tam przykłady ich użycia i odpowiedź na swoje pytanie.

  • Lubię! 2
(edytowany)
23 minuty temu, lucek20 napisał:

Mam String a = "4.4.4" - jak policzyć ilość kropek?

Chcę stworzyć warunek, że jak  liczba x > 1 to zrób coś, gdzie x-to liczba kropek.

A kropka to indywidualny znak tak??(szczerze..bo nie wiem) jesli tak to mozesz sprawdzic rozmiar tego stringa za pomoca sizeof() podzielic przez 2 i odjac 1 (bo kropki po ostatniej liczbie nie ma) i powinno dzialac...choc napewno juz sa jakies libsowe funkcje do tego...

A tak...trzeba by sprawdzac parzystosc ilosci bajtow i wtedy odpowiednio odejmowac lub nie, bo np 5/2=2 i juz nie trzeba nic odejmowac...

Edytowano przez farmaceuta
  • Lubię! 1
(edytowany)
char str[] = "t.e.s.t";
char * p = str;
int x;
    
while(*p){
        if(*p == '.')x++;
		*p++;    
}

 

Edytowano przez _LM_
delikatny błąd był
  • Lubię! 2
(edytowany)
int a;
for (int c = 0; c <= myString.length();) {
  if (myString.substring(c) == ".") {
    a++;
  }
  c++;
}

Naszło mnie i zrobiłem to w ten sposób, archaiczny ale skuteczny, dzięki chłopaki za natchnienie 😄

Edytowano przez lucek20
(edytowany)

I znowu to zakładanie, że zmienna ma wartość zero 😞 A co najgorsze teraz już 2 programy z tym samym błędem 😞

Edytowano przez Elvis
  • Lubię! 2

Jak tworzysz zmienną lokalną, czyli piszesz:

int a;

To ta zmienna nie musi mieć wartości zero. Standard nie określa jaka to wartość, może być zerem, ale nie musi. Dzisiaj kolega @_LM_ zrobił ten sam błąd w innym przykładzie... a jak widać błędy szybko się powielają 😞

  • Lubię! 2
(edytowany)

@lucek20 masz nie zainicjowaną zmienną a(u mnie teraz x) domyślam się że @Elvis akurat czepia się mnie 😉 sorki Panie elvis, pisałem ten programik na kolanie aby pokazać jedną z wielu możliwości rozwiązania problemu.

Edytowano przez _LM_
  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...