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

Konwersja na zwykły txt - nie wyświetla wyniku

Ostatnio zmodyfikowano 2013-11-09 17:45
Autor Wiadomość
Zebrak
Temat założony przez niniejszego użytkownika
» 2013-11-09 14:52:32
C/C++
for( i = 0; por == 1; i++ )
{
    if( c == kody[ i ] )
    {
        por = 1;
        m = i;
    }
}

Brakło jednego znaku równości przy warunku końcowym? O to chodzi?

Nawet po zmianach nic nie dostaje na ekran
P-95781
Monika90
» 2013-11-09 15:06:24
Teraz pętla się nigdy nie wykona, bo warunek por == 1 jest zawsze fałszywy.
P-95784
Zebrak
Temat założony przez niniejszego użytkownika
» 2013-11-09 15:11:15
Niestety ale chyba nic z tego nie będzie...
Nawet jeśli zamienię por==1 na i<=25 (znam rozmiar tablicy) to niewiele to zmienia.
P-95785
Zebrak
Temat założony przez niniejszego użytkownika
» 2013-11-09 16:38:48
Niestety, ale po koljenej godzinie czytania i próbie znalezienia głupiego błędu w mojej pętli nie jestem w stanie go znaleźć.

Program działa jeśli zamiast pętli for, zrobie wszystko ręcznie if else'ami

C/C++
if( c == kody[ 0 ] ) m = 0;
else if( c == kody[ 1 ] ) m = 1;
else if( c == kody[ 2 ] ) m = 2;
else if( c == kody[ 3 ] ) m = 3;
else if( c == kody[ 4 ] ) m = 4;
else if( c == kody[ 5 ] ) m = 5;

Ale przecież nie o to chodzi. Czy można liczyć na wskazanie tego błędu w pętli?
P-95794
pekfos
» 2013-11-09 16:57:44
Przecież wskazaliśmy błąd..
P-95797
Zebrak
Temat założony przez niniejszego użytkownika
» 2013-11-09 17:04:24
Niestety ale ja tego błędu nie rozumiem, dlaczego pętla jest nieskończona? Przecież ma sie wykonywać dopóki por będzie równe 1. A por takie się stanie jeśli stringi będą sobie odpowiadały.

Kombinowałem też z pętlą while, ale nici z tego. Mam rozumieć, że źle jest zapisany warunek kończący pętle for? Jesli tak to naprawde nie mam pomysłu jaki powinien być.

Próbowałem się nawet pozbyć tego if i zrobić to tylko pętla for

C/C++
for( i = 0; c == kody[ i ]; i++ ]
{
    m = i
}

Ale równiez to nie wypaliło, tak jakby licznik się nie zwiększał.
P-95800
pekfos
» 2013-11-09 17:15:31
Przecież ma sie wykonywać dopóki por będzie równe 1.
A jest równe 0.
» Kurs C++ » Poziom 2Pętla for lekcja

Ale równiez to nie wypaliło, tak jakby licznik się nie zwiększał.
To się nawet nie kompiluje.
P-95801
Zebrak
Temat założony przez niniejszego użytkownika
» 2013-11-09 17:32:58
Czytałem zawórno o operatorach, jak i pętlach i nie raz korzystałem juz z pętli for.

Ale w tym konkretnym przypadku nie przeskoczę tego.

Gdzieś w głowie u mnie siedzi w pewnym miejscu jakies nielogiczne rozumowanie...

Jeszcze raz

C/C++
int por = 0;
for( int i = 0; por == 1, i++ )
{
    if( c == kody[ i ] )
    {
        m = 1;
        por = 1;
    }
}

No i po kolei.

1. Ustawione zostaje 0 dla zmiennej por.
2. Jest pętla, warunek początkowy i jest 0.
3. Pętla sie ma skończyć kiedy por będzie 1 (wcześniej było wyzerowane).
4. po kązdym obiegu pętli i zwiększa się o 1.
5. Za każdym razem w pętli sprawdzany jest warunek czy strin ze zmiennej c jest równy strongowi z tablicy
6. Jesli jest taki sam to por ustawia się na jeden, m przejmuje licznik i.
7. Petla się juz więcej nie wykona bo teraz już por jest równe 1.
P-95808
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona