Działanie pętli do while?
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Działanie pętli do while?

AutorWiadomość
Temat założony przez niniejszego użytkownika
Działanie pętli do while?
» 2014-04-27 23:52:30
Mam takie pytanie w tej pętli WHILE wykona się kiedy warunek konieczny będzie równał sie FALSE(Czy zawsze tak jest?). Ale inaczej chyba jest z samym whilem bez DO bo WHILE bez DO wykonuje instrukcje pod sobą jeżeli warunek konieczny będzie TRUE?.
P-108829
» 2014-04-28 00:18:02
Nie. Pętla
do..while()
 różni się tym od pętli
while()
, że ta pierwsza najpierw wykona się raz, a potem sprawdzi warunek. Pętla
while()
 najpierw sprawdza warunek. Obie wykonują się, aż podane warunki są prawdziwe (są true). Czyli jeżeli na wstępie w pętli
while()
 warunek będzie false, pętla nie wykona się ani razu. Natomiast pętla
do..while()
, wykona się raz (i o ile warunek wciąż będzie false) nie wykona się po raz kolejny.
P-108830
Temat założony przez niniejszego użytkownika
» 2014-04-28 06:58:06
Dobra a jak mam takie kody
while(!(litera = 'k'));
lub taki kod
while(!stosA.empty())

To w pierwszym przypadku przecież to co jest pod while wykona się kiedy będzie false bo jeżeli wciśniemy literkę 'k' to będzie true ale mam jeszcze negacje '!' czy aby poszło dalej musimy mieć falce
w drugim przykładzie analogicznie.
A i jeszcze na tej stronie http://cpp0x.pl/kursy/Kurs-C++/Poziom-2/Petla-do-while/18 jest to podane ze warunek konieczny musi być false.
P-108834
» 2014-04-28 09:40:28
litera = 'k'
Nie mylisz operatorów?

jest to podane ze warunek konieczny musi być false.
Kończący, a nie konieczny. Pętla wykonuje się tak długo, jak długo warunek jest prawdziwy.
P-108835
Temat założony przez niniejszego użytkownika
» 2014-04-28 18:07:32
Program wyglada tak
C/C++
#include <iostream>

int main( int argc, char ** argv )
{
    char litera;
    do
    {
        std::cout << "Napisz litere = ";
        std::cin >> litera;
        std::cout << "Napisales litere = ";
    }
    while( !( litera = 'k' ) );
   
    std::cout << "Program sie zakoczyl bo napisale litere k";
    return 0;
}
Jak piszesz Pekfos ten warunek
while(!(litera = 'k'));
 tej False bo jak robię warunek
while(litera == 'k');
lub
while(litera = 'k');
  to dalej wykonuje się to co znajduje się w pętli do.
P-108864
» 2014-04-29 10:28:11
while( !( litera = 'k' ) );
Zawsze fałszywy.

while( litera = 'k' );
Zawsze prawdziwy.

while( litera == 'k' );
Pętla wykonuje się, jak długo warunek jest prawdziwy. Czyli w tym przypadku, jak długo w litera jest 'k'. Może po prostu
while( litera != 'k' )
..?
P-108905
Temat założony przez niniejszego użytkownika
» 2014-05-06 19:57:26
Dobra dalej nie rozumiem, ale może trochę inaczej może nie rozumiem tego warunku. Przypuśćmy że w zmienną
litera
 wprowadzam 'k' to jak ja to rozumiem
litera != 'k'
 daje FALSE, czy może jedna daje TRUE.   
P-109386
» 2014-05-06 20:14:36
Operator negacji ! zwraca wartość true jeśli znak który wprowadziłeś jest różny od r-value tego znaku.
np.
C/C++
if( litera != 'k' ) {...} //czyli jeśli litera jest różna od 'k' zrób ...
Teraz jeśli wprowadzę np. literę 't' to wynikiem będzie prawda, ponieważ 't' jest różne od 'k'. Natomiast jeśli wprowadzę 'k' to wynikiem będzie fałsz, ponieważ 'k' nie jest różne od 'k'(czyli innymi słowy jest takie samo jak 'k').
P-109388
« 1 »
 Strona 1 z 1