Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Langage C, un fichier qui répertorie les nombres premiers


Herman

Messages recommandés

Bonjour,

 

J'essaye pour m'amuser (oui je sais il suffit de peu ^^) de faire un programme qui peut tourner à l'infini et qui répertorie les nombres premiers seulement j'ai un problème, il ne s'arrête pas, pire, il n'avance pas mais je ne vois pas pourquoi, mes compétences sont limitées mais j'ai l'impression que la tête de lecture stagne.

 

#include <stdio.h>
int main() {
 FILE* fic = fopen("premiers.txt","w+");
 int i,n,d;
 fprintf(fic,"2 3");
 for(i = 5; i < 100; i+2) {
d=0;
n=2;
do {
  printf("%d",n);
  if(i%n == 0) {
	d=1;
	feof(fic);
  }
  fscanf(fic,"%d\n",&n);
} while(!feof(fic));
if(d == 0) fprintf(fic,"%d",i);
 }
 printf("Fin du programme");
 fclose(fic);
 return 0;
}

Lien vers le commentaire
Partager sur d’autres sites

for(i=5;i<100;i+2)

La troisième expression du for ne modifie pas la valeur de i, c'est certainement pour cela (et parce que la valeur de i n'est pas non plus modifiée à l'intérieur du bloc correspondant au for) que ta boucle ne se termine jamais ;-)

Lien vers le commentaire
Partager sur d’autres sites

Tu as changé quelque chose au source depuis ou pas du tout ?

As-tu bien regardé ce qui se passait lorsque tu faisais des fprintf() et des fscanf() sur un même descripteur de fichier ? (tu fais des lectures et des écritures sans te soucier de l'endroit où tu te situes dans le fichier, alors forcément....)

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...