|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jun 2005
Messaggi: 123
|
[C] ciclo for!
ciao ragazzi,
non riesco a trovare la soluzione a questo esercizio... qualcuno può darmi una mano? Si completi l’istruzione for in modo tale che vengano eseguite 5 iterazioni. Non si dichiarino atre variabili o costanti. Ci si limiti a modificare l’istruzione for. #include <stdio.h> int indice(void); int main() { for( ; ; ) printf("ciao %d\n",1); } int indice(void) { static int p=10; return p--; } |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Dec 2006
Città: Firenze
Messaggi: 118
|
Non puoi dichiamare una funzione for senza variabili (a meno che non sia un ciclo infinito)
__________________
Federica |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1451
|
if (indice() == 5)
break;
__________________
Ciao ~ZeRO sTrEsS~ |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jun 2005
Messaggi: 123
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: May 2005
Città: Bari
Messaggi: 349
|
for(; indice()!=0 ; indice() )
te la spiego subito...devi ragionare sul fatto che hai a disposizione una "static int", per cui questo DEVE NECESSARIAMENTE essere il tuo contatore... ora: ogni qualvolta chiami la funzione viene restituito il numero e decrementata la "p" che MANTIENE IL SUO VALORE fino alla fine del main()... così facendo gli dici: 1. ENTRA nel for 2. FINCHE' indice() restituisce un valore diverso da zero (ma se la chiamo SCALO di uno, per questo parte da 10 l'assegnazione nella funzione e non da 5) 3. CHIAMA indice() (con conseguente decremento) spero di essere stato chiaro, comunque provare per credere ![]() Vito PS per modifica dell'istruzione for penso si intenda questo, non dichiarare un ciclo infinito e poi dare il break...anche perchè, almeno nella teoria, il C dovrebbe essere un linguaggio orientato alla programmazione strutturata.
__________________
Si può vincere una guerra in due...o forse anche da solo. Si può estrarre il cuore anche al più nero assassino, ma è più difficile cambiare un'idea! Ultima modifica di mapomapo : 18-03-2007 alle 21:28. |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jun 2005
Messaggi: 123
|
GRANDE!!!!!
grazie!!!!!! ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: May 2005
Città: Bari
Messaggi: 349
|
Quote:
sono del parere ke saper programmare sia una cosa, entrare nella logica di un altro programmatore come questo esercizio pretende è un abominio. Vito
__________________
Si può vincere una guerra in due...o forse anche da solo. Si può estrarre il cuore anche al più nero assassino, ma è più difficile cambiare un'idea! |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Jun 2005
Messaggi: 123
|
io pensavo che static rimaneva sempre a 10
vado a riguardare le varibili static... |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Un'altra soluzione poteva essere
Codice:
for( ; indice() && indice(); )
__________________
In God we trust; all others bring data |
![]() |
![]() |
![]() |
#10 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
una variabile locale static è una variabile a scopo sempre locale ma che funge come una globale: conserva il valore tra una chiamata e l'altra della funzione. invece static usato con le variabili globali ha tutt'altra funzione.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:19.