Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Iterator stringu ( porównanie )

Ostatnio zmodyfikowano 2011-05-10 19:58
Autor Wiadomość
pekfos
» 2011-05-10 19:47:08
bo jak warunek pętli sprawdza czy aktualny znak to litera to skończy na pierwszej napotkanej literze. a jak pierwszy sprawdzany znak w stringu nie spełni warunku to pętla się nie wykona.
P-32941
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-05-10 19:52:42
Nie rozumiem zbytnio twojego posta ... Ale domyślam się, że zapewne chodzi Ci o to, że jeśli przy || nastąpi raz prawda to dalej nie sprawdza ( tak samo z fałszem przy && ), ale chyba mój warunek dobrze jest skonstruowany ... pyt w poprzednim moim poście :D

EDIT:
while( !isalpha( * pier ) )
 nie działa ... na iteratorach to trochę dziwne jest ... O co chodzi ?? ;/
P-32942
pekfos
» 2011-05-10 19:55:08
nie o to chodzi. przed wejściem do pętli sprawdzany jest warunek podany w while a gdy ten warunek nie jest spełniony to pętla kończy działanie lub jest pomijana. masz źle skonstruowany kod.
P-32943
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-05-10 19:56:30
@up
Wiem! Bo jest pomijana, gdy by tam był znak, a jeśli nie ma znaku to się powtarza gdy znajdzie się tam znak ...

Wydruk kontrolny --> nie weszło do pętli ... coś jest złe z odniesieniem się do znaku ( operator * ) ...
P-32944
pekfos
» 2011-05-10 19:57:37
no właśnie. kod napisz od nowa uwzględniając to.
P-32945
Mrowqa
Temat założony przez niniejszego użytkownika
» 2011-05-10 19:58:55
@up
Wiem! Bo jest pomijana, gdy by tam był znak, a jeśli nie ma znaku to się powtarza gdy znajdzie się tam znak ...
To był sarkazm ... Właśnie o to mi chodzi, by był tam znak !

EDIT:
za dużo tego myślenia i teorii ...
masz tu cały ten 'skomplikowany' kod:
C/C++
for( int pierw = 1; true; pierw = 0 )
{
    if( pierw == 1 ) pier = drug + 1;
   
    while( !isalpha( * pier ) ) { if( pier >= tekst_pomocniczy.end() ) { pierw = 2; break; } pier++; }
    if( pierw == 2 ) break;
   
    drug = pier + 1;
    while( !isalpha( * drug ) ) { if( drug >= tekst_pomocniczy.end() ) { pierw = 2; break; } drug++; }
    if( pierw == 2 ) break;
    // dalsze niewazne operacje...
}
I co tu jest źle ;/ Nie chce wejść do środka pętli ...
Sry za czytelność kodu - uwierzcie, u mnie na ekranie w moim kompilatorze i kodzie to najczytelniejszy sposób ( dla mnie :P )

EDIT:
Mam ! tak banalny błąd :P
( pierw == 1 )
 -->
( pierw != 1 )
.
P-32946
1 « 2 »
Poprzednia strona Strona 2 z 2