---+++ Errori Tipici Campionando alcuni compiti, ho notato che l'errore più ricorrente è stato quello di *stampare scritte* non richieste. Era stato scritto (e detto) di toglierle prima di consegnare il programma. *Leggette con accuratezza le tracce*: non posso guardare i vostri programmi uno ad uno! Qualcuno ha semplicemente introdotto spazi in più nella stampa. Alcuni hanno trattato in modo particolare (e tipicamente errato) il caso n=1. Alcuni hanno lasciato istruzioni come il pause o il getch, necessarie per evitare che in alcuni sistemi si chiuda la finestra di output (tipicamente usando un IDE): ricordatevi la prossima volta di togliere queste istruzioni! Se dovete scrivere qualcosa, ricordate di metterlo come commento. Alcuni hanno fatto errori più seri, tipo: mettere il ";" dopo la condizione del while, oppure confondere "=" e "==". E ricordatevi che le variabili VANNO INIZIALIZZATE correttamente prima di essere utilizzate, specie se a destra di un assegnamento (ricordatevi che i---++ significa i=i+1). Comunque ecco una soluzione possibile: (ho tolto l'include si stdio.h, perchè Twiki interpreta le parentesi angolate come un tag html!!!) <pre style='background:lightgrey'> void main() { int step=0; int n; scanf("%d",&n); while (n!=1) { if (n % 2 == 0) n = n/2; else n = 3 * n---+ 1; step---++; } printf("%d\n",step); } </pre> * Set ALLOWTOPICCHANGE = Users.DocentiProg1Group -- Users.IvanoSalvo - 05 Nov 2004
This topic: Programmazione1/AA0506/PZ
>
WebHome
>
HomeWork104
>
SoluzioneHomework104
Topic revision: r3 - 2004-11-23 - IvanoSalvo
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback