Skocz do zawartości
Wu

[c++] Sekwencja Znaków W Stingu

Rekomendowane odpowiedzi

No i natrafiłe na kolejny problem, który wydwał sie z pozoru prosty do rozwiązania.

 

Otóż, jak w danym ciągu znaków, zastąpić określone sekwencje innymi?

Tzn. np. dany jest ciąg znaków, i teraz jak go pzreszukac pod kątem występowania sekwencji powiedzmu "ABC" i zastąpić ją sekwencją "ADCB".

 

Probowałem problem rozwiązać na tablicach i po spełnieniu określonych warunków

 

( TABLICA == 'A' && TABLICA[i+1] == 'B' && TABLICA[i+2] == 'C' )

 

skopiować do tablicy ze zmienionym kopiować sekwencję "ADCB" i zwiększać wskaźnik i o +3 by przeszukiwać dalej.

 

Problem w tym, coś jet nie tak i cały czas dostaję komunikaty "access violation" a bez debuggera pisze sie takie sekwencje dość ciężko.

Usunięcie błędu który był w warunku (tj kiedy i ma wartość graniczną dla danej tablicy a szukamy w dalszych warunkach i+1 , i+2 (poza obszarem) już rozwiązałem ale w dalszym ciągu coś jest nie tak :/

 

 

Stąd pytanie - moze da sie to zrobić na stringach ? bez kopiowania do tablicy ?

Niestety słabo znam funkcje tego typu w C++ - dlatego pytam.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Na bank a nawet na dwa banki da się to zrobić na stringach .

Klasa String we wszystkich obiektowych językach posiada metody do wyodrębniania substringów . cały pic polega na tym aby sobie poszperać w opisie klasy i znależdź odpowiednią funkcje.

Osobiście polecam MS Visual studio C++ i MSDN liblary , każda funkcja jest szczegółowo opisana.

A dla podpowiedzi w klasie String istnieje metoda substring(int offset, int count) .

Pozdrowienia

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...