View Full Version : c++: ciclo for
danyroma80
29-08-2006, 17:46
for (; e; funzione(e),e = 0)
{...
..
..
.....}
Non capisco quando termina questo ciclo
dunque, tu non inizializzi parametri (è per questo che hai il primo ;)
poi fai un confronto su e, quindi il ciclo termina se e=0
infine esegui funzione(e) ed assegni ad e il valore 0.
il valore zero sarà poi usato all'interno del ciclo. se e assume un valore diverso da zero il ciclo si ferma, altrimenti prosegue
danyroma80
29-08-2006, 18:52
sinceramente non ho capito il flusso delle operazioni
considera un ciclo for standard
for(i=0;i<N;i++)
è composto da tre parti:
-l'inizializzazione della variabile
i=0, nel tuo caso manca quindi tutte le variabili mantengono il loro valore
una condizione, nel tuo caso e, il che vuol dire e!=0.
a questa si aggiunge l'operazione di incremento della variabile che nel tuo caso è sostituita dalle due operazioni funzione(e) ed e=0
BountyKiller
30-08-2006, 08:39
for (; e; funzione(e),e = 0)
{...
..
..
.....}
Non capisco quando termina questo ciclo
termina quando e è falso (in questo caso direi quando la variabile e, precedentemente dichiarata o definita, diventa zero)
sottovento
30-08-2006, 16:23
for (; e; funzione(e),e = 0)
{...
..
..
.....}
Non capisco quando termina questo ciclo
La variabile e non viene inizializzata nella prima parte del ciclo for. Supponendo che sia diverso da zero entrera' nel ciclo e ci restera' fintanto che e' diverso da zero.
Se non che all'iterazione successiva verra' fatto l'assegnamento e=0, il quale fara' terminare il ciclo stesso (l'assegnamento ritorna il valore assegnato, il quale sara' valutato se diverso o uguale a zero).
Ricapitolando:
- se in partenza e == 0, allora NON entri nel ciclo;
- se in partenza e != 0 allora eseguirai il ciclo una sola volta;
BountyKiller
31-08-2006, 09:00
La variabile e non viene inizializzata nella prima parte del ciclo for. Supponendo che sia diverso da zero entrera' nel ciclo e ci restera' fintanto che e' diverso da zero.
si ma potrebbe essere stata inizializzata (anzi, si spera che lo sia stata) prima del ciclo for in una parte di codice che lui non ha postato... non sappiamo a che valore è stata inizializzata ( e nemmeno sappiamo il tipo esatto) della variabile e
sottovento
31-08-2006, 12:43
si ma potrebbe essere stata inizializzata (anzi, si spera che lo sia stata) prima del ciclo for in una parte di codice che lui non ha postato... non sappiamo a che valore è stata inizializzata ( e nemmeno sappiamo il tipo esatto) della variabile e
Ops, mi sono espresso male. Lo davo per scontato. Infatti la risposta prevede il caso che e sia uguale a zero ed il caso in cui sia diverso....
for (; e; funzione(e),e = 0)
{...
..
..
.....}
Non capisco quando termina questo ciclo
Per forza. Fa schifo! E' un pessimo esempio di programmazione.
Riscrivilo.
wingman87
31-08-2006, 17:50
Per forza. Fa schifo! E' un pessimo esempio di programmazione.
Riscrivilo.
LoL forse non l'ha scritto lui, sembra uno di quei quesiti delle olimpiadi di informatica...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.