|
|||||||
|
|
|
![]() |
|
|
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 22: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: 22:36.




















