---+++ Errori Tipici Campionando alcuni compiti, ho notato che l'errore più ricorrente è stato quello di *NON stampare l'output*. Alcuni compiti entrano in cicli infiniti. Alcuni non hanno cancellato tutti i numeri non primi (probabilmente si fermavano troppo presto). e restituivano 1 su numeri come 9999 o 9997. Diversi hanno stampato un carattere di accapo quando stampavano 1 o 0 e non quando stampavano -1. Comunque non sono finiti tra i compiti errati. 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'> #define MAXPRIMO 10000 #define ULTIMOTEST 100 void inizializza(int primi[]) {int j; for (j=0; j<MAXPRIMO; j---++) primi[j]=1; }; void crivello(int primi[]) { int i, j; for (i=2; i<ULTIMOTEST; i---++) if (primi[i]) { for (j=i---+i; j<=MAXPRIMO; j+=i) {primi[j]=0;}} } void verifica(int primi[]) { int n; for(;;) { scanf("%d",&n); if (n==0) break; if (n<0 || n>10000) printf("-1\n"); else printf("%d\n",primi[n]); } } int main() { int primi[MAXPRIMO]; inizializza(primi); crivello(primi); verifica(primi); return 0; } </pre> * Set ALLOWTOPICCHANGE = Users.DocentiProg1Group -- Users.IvanoSalvo - 05 Nov 2004 * Set ALLOWTOPICCHANGE = Users.DocentiProg1Group -- Users.IvanoSalvo - 18 Nov 2004
This topic: Programmazione1/AA0506/PZ
>
WebHome
>
SoluzioneHomework204
Topic revision: r2 - 2004-12-08 - 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