[C++]Ciclo if in un ciclo for

valentino861
Sto programmando in c++ e non ho chiara una cosa.
Se ad esempio ho:
for(int i=0; i<20; i++)
{
    if (t==16 {
                        ..... }

   else {......}

}


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?


[/code]

Risposte
apatriarca
Si usa l'istruzione break.

for (int i = 0; i < 20; ++i) {
    if (t == 16) break;
}

valentino861
OK

grazie mille

valentino861
un'altra cosa. Mi serve di calcolare il tempo macchina anche all'interno di un ciclo for, io ho fatto cosi, con la libreria time.h:

for (int i =0; i<20; i++){
         
        clock_t clock();	
	//Quanti cilci fa il PC in un millesimo di secondo
	cent=CLOCKS_PER_SEC/1000;
	//Tempo in secondi, con risoluzione da 1 millisecondo.
	temp=0.001*(clock()/cent);
			
    printf ("stampa tempo %f",temp);
}


Però niente all'interno del ciclo non mi aggiorna il tempo.

valentino861
sinceramente non capisco bene che fa!! Perchè aggiorna il tempo ogni 10ciclio, ogni tanto ogni 5 cicli, e ogni tanto ogni 8 cicli...booo

valentino861
ad esempio con questo programma aggiorna il tempo millesimo per millesimo. Ovviamente in un millesimo riesce a fare più ciclo quindi a stampa si vedranno più ciclo con lo stesso tempo.

#include <stdio.h>
#include <time.h>


int cent;
double temp;
int main(){
	for(int i=0; i<2000;i++){
clock_t clock();	
	//Quanti cilci fa il PC in un millesimo di secondo
	cent=CLOCKS_PER_SEC/1000;
	//Tempo in secondi
	temp=0.001*(clock()/cent);
	printf("ciclo %i tempo %f \n",i,temp);
	}
	getchar();
	return 0;
}



[/code]

Umby2
"valentino86":
sinceramente non capisco bene che fa!! Perchè aggiorna il tempo ogni 10ciclio, ogni tanto ogni 5 cicli, e ogni tanto ogni 8 cicli...booo


delle unita' di tempo cosi tanto piccole non riesci ad apprezzarle.
pensa solo che il pc, anche quando sta "fermo", ci sono tantissimi programmi che girano. Pensa agli antivirus, programmi di chat, e tante altre cose ancora.
Queste differenze pertanto, sono in funzione della attività che il pc in quel momento sta facendo. Direi che è normale...

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.