Skocz do zawartości

Zliczanie ilości wskazanych znaków w Stringu


lucek20

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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
Link do komentarza
Share on other sites

(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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

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
Link do komentarza
Share on other sites

@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
Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.