claudio19488 Inviato 30 Maggio 2009 Segnala Condividi Inviato 30 Maggio 2009 Sto facendo degli esercizi per prepararmi ad un esame, è piu di 5 h che sto su questo esercizio ma non ne vengo a capo e non so cosa sbaglio.. La consegna mi chiede di prendere un numero intero A, assicurarmi che sia maggiore o uguale a 1950, e stampare gli anni in cui si disputano i primi 4 mondiali di calcio successivi ad A !! Allora: inizio con il mio bel #include<stdio.h> main () { int A,i; do scanf("%d",&A); while(A<1950); // e fin qui ho detto che se è minore di 1950 non va bene //qui viene il bello, sono confuso perchè ho provato con un ciclo for e non risulta nulla di giusto!! for(i=0;i<4;i++) i=A+4; printf("I prossimi 4 mondiali si svolgeranno nel %d",A) } Link al commento Condividi su altri siti Altre opzioni di condivisione...
numerone Inviato 30 Maggio 2009 Segnala Condividi Inviato 30 Maggio 2009 I mondiali di calcio si svologono ogni quattro anni. Pertanto il for dovrebbe diventare: for (i=0;i<4; i++) a=a+i*4; Ammettendo che il mondiale di calcio ci sia stato nel 54 e non nel 52. Dio@paradiso:~$ gcc -o Terra World.cpp Link al commento Condividi su altri siti Altre opzioni di condivisione...
claudio19488 Inviato 30 Maggio 2009 Autore Segnala Condividi Inviato 30 Maggio 2009 Grazie ma non ho ancora risolto il problema #include<stdio.h> int main() { int a,i; printf("Inserisci un numero maggiore o uguale a 1950\n"); do scanf("%d",&a); while(a<1950); for(i=0;i<4;i++) a=a+i*4; printf("I prossimi 4 mondiali sono nelle seguenti date %d\n",a); } Il risultato è : I prossimi 4 mondiali sono nelle seguenti date 1974 logout [Processo completato] Non mi stampa tutti e 4 gli anni Link al commento Condividi su altri siti Altre opzioni di condivisione...
numerone Inviato 30 Maggio 2009 Segnala Condividi Inviato 30 Maggio 2009 Perché il printf è fuori dal for, in oltre la logica neanche funziona. for (int i=0; i<4; i++) printf("Il prossimo mondiale si svolgerà nel %d", a+i*4); Dio@paradiso:~$ gcc -o Terra World.cpp Link al commento Condividi su altri siti Altre opzioni di condivisione...
claudio19488 Inviato 31 Maggio 2009 Autore Segnala Condividi Inviato 31 Maggio 2009 Adesso funziona Un particolare grazie a numerone Link al commento Condividi su altri siti Altre opzioni di condivisione...
OnEmAnArMy Inviato 31 Maggio 2009 Segnala Condividi Inviato 31 Maggio 2009 un'implementazione più semplice e meno dispendiosa mi sembra questa: #include<stdio.h> int main() { int anno, i; printf("Inserisci un numero maggiore o uguale a 1950\n"); scanf("%d",&anno); if ( anno > 1950 ) { for ( i=0; i<4; i++) printf("Il prossimo mondiale si svolgerà nel %d", anno+i*4); } else { printf("Inserisci un anno maggiore"); return 1; } } in quanto un if è meno di spendioso di un while. (ovviamente su un esercizio banale non c'è differenza, ma su calcoli complessi c'è). Cum fovet fortuna, cave, namque rota rotunda Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.