Problema c
ciao a tutti come si fa a convertire un programma da ciclo while a ciclo for??
Risposte
posta il programma
Dipende da "while" cosa.
non ce lho il prgramma. non è che mi potete fare un esempio voi
Penso però che non puoi passare da while a for se l'argomento di while è un booleano. Cioè lo while si verifica finche una variabile è vera o falsa. Penso però. D'altra parte i for non li ho mai visti con i booleani...
"superpunk733":
D'altra parte i for non li ho mai visti con i booleani...
Però volendo si potrebbe fare, come tradurlo dipende dalla while. Ad esempio:
int i = 1; while (i) { /* ... */ if ( /* condizione fine ciclo */) i = 0; }
int i = 1; for (;;) { /* ... */ if (* condizione fine ciclo */) break; }
"superpunk733":
Penso però che non puoi passare da while a for se l'argomento di while è un booleano. Cioè lo while si verifica finche una variabile è vera o falsa. Penso però. D'altra parte i for non li ho mai visti con i booleani...
in C il tipo boolean non esiste!

"anonymous_be1147":
[quote="superpunk733"]D'altra parte i for non li ho mai visti con i booleani...
Però volendo si potrebbe fare, come tradurlo dipende dalla while. Ad esempio:
int i = 1; while (i) { /* ... */ if ( /* condizione fine ciclo */) i = 0; }
int i = 1; for (;;) { /* ... */ if (* condizione fine ciclo */) break; }[/quote]
I due cicli non sono affatto identici. Infatti il primo esegue il ciclo secondo la condizione sulla i, mentre il for esegue un ciclo infinto senza alcuna condizione.
int i = 1; while (i) { /* ... */ if ( /* condizione fine ciclo */) i = 0; }
int i = 1; for (; i ;) { /* ... */ if (* condizione fine ciclo */) i=0; }
Così sono identici.

"TheWiz@rd":
I due cicli non sono affatto identici. Infatti il primo esegue il ciclo secondo la condizione sulla i, mentre il for esegue un ciclo infinto senza alcuna condizione.
Certamente, ma non ho detto che lo fossero. Ho scritto solo una possibile soluzione, che tra l'altro mi sembra più ottimizzata, perché esegue un assegnamento e un test in meno.

ce lo hanno spiegato la prima lezione di info 1... vi rigiro la spiegazione a grandi linee...
un ciclo generalmente è formato da questi tre elementi:
* dichiarazione variabile
* condizione
* incremento
WHILE:
FOR:
quindi è facilissimo saltare da un for ad un while e viceversa:
cmq penso che si possa mettere qualsiasi cosa come condizione del for...
un ciclo generalmente è formato da questi tre elementi:
* dichiarazione variabile
* condizione
* incremento
WHILE:
int i; <-- dichiarazione variabile while (i<N) { <-- condizione [...] i++; <-- incremento }
FOR:
for (inizializzazione; condizione; incremento) { [codice] }
quindi è facilissimo saltare da un for ad un while e viceversa:
int i=0; while (i<MAX) { printf("hello world!\n"); i++; } ------------------------------------------- int i; for (i=0; i<MAX; i++) { printf("hello world!\n"); }
cmq penso che si possa mettere qualsiasi cosa come condizione del for...