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

nietypowe petle for

Ostatnio zmodyfikowano 2013-05-02 14:02
Autor Wiadomość
kejkun
Temat założony przez niniejszego użytkownika
nietypowe petle for
» 2013-05-02 13:27:19
mam pytanie odnosnie takich petli for, ktorych niestety nie znalazlem w waszym tutorialu
np.

C/C++
for( int i = pobrane.size(); --i; rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 ) )


czy jest to równowazne:
C/C++
for( int i = pobrane.size(); rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 ); --i )


??
tzn.ze petla bedzie sie wykonywala do poki:
C/C++
rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0
 nie da wartosci fałszu tj.   "  0 "   ?


2. petla:


C/C++
for(; liczba; liczba /= 10 )
     suma_cyfr += liczba % 10;

tutaj nie rozumiem, bo nie ma 1 czynnika ?
wiec jak to jest ??
Dodam, ze kody sa poprawne, bo nie moje :D
P-81787
pekfos
» 2013-05-02 13:29:18
Co w nich nietypowego? Nie trzeba podawać wszystkich 3 "czynników".

C/C++
for( int i = pobrane.size(); --i; rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 ) )


czy jest to równowazne:
C/C++
for( int i = pobrane.size(); rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 ); --i )


??
Nie.

C/C++
for(; liczba; liczba /= 10 )
     suma_cyfr += liczba % 10;

tutaj nie rozumiem, bo nie ma 1 czynnika ?
wiec jak to jest ??
Po co pierwszy czynnik, skoro nie jest potrzebny?
P-81789
kejkun
Temat założony przez niniejszego użytkownika
» 2013-05-02 13:32:34
to, ze wtedy laik taki jak ja, gubi sie jak wtedy sie ZACHOWuja te petle ; / .

to w takim razie tam gdzie nie podalismy " 1 " czynnika to :

jak mam rozumiec mechanizm petli ?

bo zwykle jest
C/C++
for( od np.i = 0; do i < n; co krok: i++ )
tu
    : for(; liczba; liczba /= 10 )
od ????, do liczby ?, co krok liczba /= 10 ?


a co do 1. petli to sa sobie rownowazne tamte petle ??

to czym sie roznia ???

nie ogarniam mechanizmu
od :
do:
co jaki krok :
w tym przypadku ;/



moglbys mi słownie przyblizyc mechanizm ? bo sie gubie ;x
P-81791
pekfos
» 2013-05-02 13:36:38
to w takim razie tam gdzie nie podalismy " 1 " czynnika to :

jak mam rozumiec mechanizm petli ?
Pętla może być nawet taka:
C/C++
for(;; )
{
}
Przypominam, że działanie pętli for jest bardziej ogólne, niż te, co podałeś:
C/C++
for( inicializacja; warunek; modyfikacja )
Żaden z argumentów pętli for nie jest wymagany.

C/C++
for( int i = pobrane.size(); --i; rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 ) )
Tu warunkiem jest
--i
, a modyfikacją
rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 )
. Pętla będzie tak długo się wykonywać, dopóki
i
 pomniejszone o 1 będzie prawdziwe logicznie.
P-81793
kubek3898
» 2013-05-02 13:37:06
Pierwsze dwie pętle nie są równoważne, ponieważ w pierwszej wyrażenie --i; jest wyrażeniem kończącym pracę pętli, a w drugiej jest wyrażeniem zwiększającym licznik pętli.
P-81794
kejkun
Temat założony przez niniejszego użytkownika
» 2013-05-02 13:43:32
for( inicializacja; warunek; modyfikacja )"

"Pętla będzie tak długo się wykonywać, dopóki
i
 pomniejszone o 1 będzie prawdziwe logicznie.
tzn.   dopoki i rozne od zera ?



w takim razie ta petla :

C/C++
for(; liczba; liczba /= 10 )


jest dla liczby, wiec nie trzeba inicjalizowac  jej.
potem warunek :     liczba  , wiec jest on zawsze spełniony,

 tzn . petla ile razy sie wykona ??



nastepnie petla robi :liczba /= 10 )




1. przypadek:
C/C++
for( int i = pobrane.size(); --i; rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 ) )

inicjalizacja ok.
warunek : --i       -> tzn. ze jak dlugo sie wykona petla, to nie tutaj powinnismy nadac warunek jak dlugo
ma sie wykonywac?

3. modyfikacja : rosnaca +=( pobrane[ i ] - pobrane[ i - 1 ] > 0 )
tzn.
co sie dzieje z rosnaca.
albo jest rosnaca + 1 , albo + 0 .




P-81796
pekfos
» 2013-05-02 13:48:31
» KursyKurs STC kurs

liczba  , wiec jest on zawsze spełniony, tzn . petla ile razy sie wykona ??
Na jakiej podstawie sądzisz, że jest zawsze spełniony?
P-81798
kejkun
Temat założony przez niniejszego użytkownika
» 2013-05-02 13:49:46
no bo właśnie nie wiem jak interpretowac te petle ;/

a skoro mamy jakis     warunek : liczba
no to nie wiem kiedy mialaby sie petla skonczyc ? eh ;x

i dobrze mysle, ze dopoki " i " rozne od zera  ta petla sie wykona ??
P-81800
« 1 » 2
  Strona 1 z 2 Następna strona