erreur: invalid opérandes binaires % (ont 'double' et 'double')

J'ai un programme que je suis en train d'écrire que les listes de 100 000 nombres premiers. Il fonctionne très bien pour 10 numéros, mais après de nombreux chiffres, ils se tournent vers les valeurs négatives. J'ai changé les services de renseignements à long ints et qui n'a pas changer quoi que ce soit, alors j'ai changé pour des doubles et je reçois le message d'erreur répertoriés dans le titre. Que dois ma variable? Gardez à l'esprit, je suis encore nouveau pour la programmation. J'ai aussi regardé quelques posts précédents et ne vois pas la réponse.

 int is_prime(double x,char array[]){
 //doesnt use array but I put it in there

     double j=2;//divider
     for(j=2;j<=pow(x,0.5);j++){
         if((x%j==0)){
             return(0);
         }   //isnt prime  
     }
     return(1);//because it is prime.
 }
la réponse à cette question est essentiellement la même que dans Comment puis-je Convertir des Float en Int avec le Module en C?
Hein??? long est nécessaire d'aller jusqu'à au moins 2 milliards de dollars, et le 100 000 ème nombre premier est que de 1,3 millions de dollars. Si vous êtes débordant, alors votre programme a manqué un beaucoup des nombres premiers. long doit être fine (tout comme int que c'est 32 bits, ce qui est normal). Comparer la sortie de votre programme à ceci: digital.library.upenn.edu/webbin/gutbook/lookup?num=65, voir où ça va mal. Et vérifiez que vous êtes en sortie les valeurs correctement...
steve, j'ai fait les modifications proposées et ont toujours les mêmes résultats, c'est parce que je suis en train de monter ces valeurs dans un char tableau[], devrait-il être autre chose?
Vous devez vraiment être à l'aide d'un type entier pour les nombres premiers, pas une représentation à virgule flottante. Je suis d'accord avec Steve Jessop que vous avez probablement un autre problème. Vous devriez essayer de résoudre ce --- j'espère que votre professeur vous marquez une réponse qui utilisé double. FWIW, le 100 000 ème le premier est 1,299,709.
ouais j'ai compris ce n'était pas mon problème d'origine. Quand j'ai fait ces changements, rien n'a vraiment changé, je ne sais pas ce qui est mal, je soupçonne un char tableau[], ne peut pas tenir les valeurs que je suis en train de bâton. Des idées?

OriginalL'auteur pisfire | 2010-10-10