Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - ciclo if in un ciclo for
Forum - C/C++ - ciclo if in un ciclo for

Avatar
valentino86 (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/04/2009

Segnala al moderatore
Postato alle 10:44
Mercoledì, 08/04/2009
Sto programmando in c++ e non ho chiara una cosa.
Se ad esempio ho:
Codice sorgente - presumibilmente C/C++

  1. for(int i=0; i<20; i++)
  2. {
  3.     if (t==16 {
  4.                         ..... }
  5.  
  6.    else {......}
  7.  
  8. }



A me serve che quando entra nel ciclo if fa le sue istruzioni e poi esca sia dal ciclo if sia dal ciclo for indipendentemente dal valore di i con cui è entrato nel ciclio if.

Si può fare?

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 13:27
Mercoledì, 08/04/2009
Intanto, la if non e' un ciclo.

Per uscire da un ciclo for usa un

break;


- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 16:05
Mercoledì, 08/04/2009
If non è un ciclo è un costrutto e cmq per uscire basta mettere break;

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 23:58
Venerdì, 10/04/2009
premesso che parto sempre dal presupposto di essere ignorante :P
a me hanno sempre detto che i break gli exit i goto non andrebbero usati tranne che in casi particolari (esempio break nello switch)

io, personalmente risolverei così.

Codice sorgente - presumibilmente C/C++

  1. while((indice < 20) && (finito == FALSE))
  2. {
  3.    if(tua_variabile == 16) //come nel tuo esempio
  4.    {
  5.      blabla    
  6.      finito = TRUE; //la prossima volta non entra nel ciclo
  7.    }
  8.    else
  9.      blablabla
  10.  
  11.    indice++;
  12. }



Tuttavia penso che il break sia comunque valido :)

Ultima modifica effettuata da il 11/04/2009 alle 0:01
PM Quote
Avatar
valentino86 (Normal User)
Newbie


Messaggi: 8
Iscritto: 07/04/2009

Segnala al moderatore
Postato alle 0:13
Sabato, 11/04/2009
guarda con il break ho già risolto e funziona.

In ogni caso il tuo algoritmo non mi sarebbe andato bene perchè nell'if ci devo entrare periodicamente e nel tuo caso invece ci entra solo una volta.


PM Quote