Newsgroup: it.comp.lang.c
Titolo: help codice

correggetemi il seguente codice per calcolare divisori di un numero n 
esclusi 1 e n.

 < 1KVisualizzaScarica
 
che ci hai preso per servi? fattelo da solo


non sono capace ;)
 


si notava parecchio dal tuo codice.
devi imparare a rivolgerti meglio.


il problema principale è che non so distinguere il c dal c++.
 

 il problema principale che non so distinguere il c dal c++.
 
ma veramente il tuo problema principale è che non hai un problema
principale, quel pezzo di codice è tutto sbagliato


http://www.nic.it/tutto-sul.it/netiquette
 

esclusi 1 e n.
 
x me č meglio nn allegare il file di C, 
si copia incolla il codice qui...
 
se come nome del file di codice ci scrivi "nome.cpp"
allora il compilatore lo compila "nome.cpp" come codice C++
se ci scrivi "nome.c" allora lo dovrebbe compilare come
codice C
 
x esempio faust2.cpp verra' compilato come codice C++
chiamando il compilatore del C++
e nn come codice C...
 
se si vede il file come codice C sarebbe meglio 
1) vedere se scanf ha successo
   a prendere il valore e quindi prevedere qualche errore,
2) mettere le variabili subito dopo che la funzione si apre
3) l'ultima istruzione di stampa deve essere il carattere \n 
   cioe' new line
4) main ritorna 0 x successo del programma
5) quando inserisci un valore, č meglio che chiarisci 
   con printf cosa il programma vuole x input
6) Sul linguaggio C 
   vi č anche un gruppo in inglese, che se fossi in te
   userei "comp.lang.c"...
   per esempio questo gruppo si chiama "it.comp.lang.c"
 
il codice di sotto č quello che scriverei io... ma se
nn puoi spiegarti la singola istruzione, conviene che
aggiusti quello tuo fino a che funziona bene...
nn sono sicuro che funzioni bene...
 
__________________________________
#include <stdio.h>
 
int n;
 
/* Prende un numero da stdin, dalla tastiera
   e ritorna tutti i fattori di tale numero
   1 ed se sesto nn compresi.
*/
void calcoladivisori(void)
{int    d;
 int    r;
 int   nx, w;
 int  led;
 
 printf("Inserisci un numero e premi <Return>: ");
 led=scanf("%d",&n);
 
 w =n>0? n/2: -n/2;
 w = w +1;
 nx=n>0? n  : -n  ;
 
 if(led==EOF||nx<=1)
      {printf("Errore di input\nciao\n"); 
       return;
      }
 
 printf("Divisori di %u: ", n);
 d=2; led=0;
 while(d<=w)
   {r=nx%d;
    if(r==0)
       {if(led==0) 
                led=1;
        printf("%u -%u ", d, d);
       }
    d=d+1;
   }
 if(led==0) 
     printf("Nessun numero\n");
 printf("\n");
}
 
int  main(void)
{calcoladivisori();
 return 0;
}
 

 1) vedere se scanf ha successo
[CUT]
 
Lascia stare
Se crede che if(r=0) sia un confronto invece che una assegnazione, 
significa che il libro di C non l' ha neanche aperto
Probabilmente  il sign. Ronie è uno studente che deve portare quell' 
esercizio come esame e spera che qualcuno faccia il lavoro per lui
Io do caldamente un consiglio al sign. Ronie, studi se vuole veramente 
apprendere ma non riesce a comprendere neanche le basi, pur sbattendoci 
la testa, allora cambi studi
Si cerchi una materia per lui piu portata,farà anche un favore a lui stesso
 
 


 
tutti siamo all'inizio un poco imbranati, basta impegarsi leggendo i
libri giusti...
 

libri giusti...
 
e sopratutto frequentanto i posti giusti...
 


Lo so, ma se non inizia almeno a studiare le basi e vuole solo la pappa 
pronta ...
 

        printf("%u -%u ", d, d);
 
printf("%d -%d ", d, d);



tra grammatica, ortografia, maniere, e incompetenza, qua si fa a gara
eh


il problema è che ho abbandonato ingegneria 15 anni fa ...