Porownywanie znakow

jancza
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 21 lut 2010, o 21:57
Płeć: Mężczyzna
Lokalizacja: bstok

Porownywanie znakow

Post autor: jancza »

Mam problem z takim czyms :
Wczytaj wyraz z powtarzającymi się literkami i wypisz wyraz składający się z pojedynczych liter.
Przykłady
Wejście
AAlllaa
Wyjście
Ala
Wejście
ppppppiiiiessssssss
Wyjście
pies
Wejście
koooooooot
Wyjście
kot

nie wiem jak do tego sie zabrac
Awatar użytkownika
osa
Użytkownik
Użytkownik
Posty: 272
Rejestracja: 18 lut 2010, o 16:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 1 raz
Pomógł: 37 razy

Porownywanie znakow

Post autor: osa »

nie wiem w czym chcesz to robić. jeżeli w c, to proponuję wczytać do stringa (niech nazywa się np c)
a potem porównywać w pętli c[n] z c[n+1] bo string ma tę super zaletę że jest to możliwe Technicznie jak to zrobić dokładnie to już sam wykmiń, ale ja proponuję żeby porównywać w pęli od końca wyrazu (jest też funkcja zwracająca długość wyrazu w stringu, ale nie pamiętam jaka). Wtedy po sprawdzeniu czy c[n]=c[n+1]- jeżeli się nie równa, super, przechodzimy dalej, jeżeli się równa, to usuwamy c[n+1] i znowu pętlą robimy, że c[n+1]=c[n+2], c[n+2]=c[n+3]... itd. Tylko się musisz pozbyć ostatniego znaku. pewnie zadziała coś w style c[m]="void". i przechodzimy dalej do sprawdzania czy c[n]=c[n-1] ma to tę zaletę, że idąc do przodu ominęlibyśmy ciągi po 3 znaki, a tak nie ominiemy. Mam wrażenie że nie pomogłem jakoś bardzo bardzo, ale mam nadzieję że chociaż trochę
jancza
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 21 lut 2010, o 21:57
Płeć: Mężczyzna
Lokalizacja: bstok

Porownywanie znakow

Post autor: jancza »

zapomnialem dopisac chce to zrobic w c++ xd
Awatar użytkownika
osa
Użytkownik
Użytkownik
Posty: 272
Rejestracja: 18 lut 2010, o 16:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 1 raz
Pomógł: 37 razy

Porownywanie znakow

Post autor: osa »

jancza pisze:zapomnialem dopisac chce to zrobic w c++ xd

Masz szczęście, bo to co ja napisałem jest do c++ a nie do c, jak napisałem . W c nie ma stringów
Crizz
Użytkownik
Użytkownik
Posty: 4094
Rejestracja: 10 lut 2008, o 15:31
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 12 razy
Pomógł: 805 razy

Porownywanie znakow

Post autor: Crizz »

Kod: Zaznacz cały

znak c=pobierz_następny_znak(słowo);
znak d;
dopóki(c!=
)
{
     wypisz(c);
     wykonuj
     {
          d=pobierz_następny_znak(słowo);
     }
     dopóki(c==d);
     c=d;
}
warunek w trzeciej linijce ma oznaczać "dopóki nie natrafisz na koniec słowa".
ODPOWIEDZ