Wu Opublikowano 30 Maja 2005 Zgłoś Opublikowano 30 Maja 2005 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. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Contrast Opublikowano 30 Maja 2005 Zgłoś Opublikowano 30 Maja 2005 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 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 31 Maja 2005 Zgłoś Opublikowano 31 Maja 2005 dostajesz taki komunikat gdyż pewnie zadeklarowałeś tablice o rozmiarze X a sięgasz do elementu o indeksie X+1...2,3. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...