Programme en language c nombres premiers

Résolu
Bonjour,

svp j'ai besoin d'un programme qui permet de trouver les nombres premiers <=100
cela consiste a remplir un tableau dans l'ordre du plus petit au plus grand de 2 a 100 puis de parcourir le tableau du début en gardant un entier rencontré et illiminé tous ces multiples par leur mise a zéro et tous les entiers restant non nuls sont des nombres premiers.

PS: les valeurs entieres ne sont pas entrées par l'utilisateur
je précise que jétude en 1ère TDI

Merci d'avance pour votre aide ^^

<config>Windows 7 / Firefox 6.0</config>

2 réponses

  1. Contributeur
    Bonjour,

    Il s'agit de l'implémentation du crible d'Eratosthène.

    Le but de ton exercice est de le faire toi-même. Par contre, on t'aidera bien volontiers si tu postes ton programme pour qu'on le corrige.
    Ou à la rigueur, dis-nous ce qui te bloque, ce que tu comprends pas.
    1. voila ce ke jai fais mais c incorrecte !#include<stdio.h>
      #include<stdlib.h>
      int main() {
      int t[99],i,X;
      i=3;
      for(i>2;i<=100;i++){
      printf("%d\n",t[i]);
      }
      for(i>2;i<=100;i++){
      if(t[i]%i==0){
      X=t[i]*0;
      }
      else{i++;
      X=t[i];}}
      for(i>2;i<=100;i++){
      if(X!=0){printf("les nombres premiers %d\n",X);}}

      system("pause");
      return 1;
      }
    2. Modérateur
      Lorsque tu fais int t[n]; tu ne peux faire t[i] que si i est zntre 0 et n-1
      Or toi tu utilises i=100 alors que n=99...
    3. ah daccord merci jai oublier que la boucle for on doit commencer par un 0 m
      ais comment je peux faire dans cet exercice pour commencer des nombres supérieur a 2?
    4. devrai je utilisé la boucle while ou quoi?
    5. Modérateur
      La boucle for est un bon choix... Mais il faut savoir s'en servir correctement.
      Le premier champ c'est une initialisation, pas une condition : for (i = 2; i<=100; i++)
  2. fiddy dit vrai fait ton programme du moins essai de le faire puis pose tes question sur les partie qui te bloquent ou bien publie ta portion de programme pour la corrigé pour être sympa faut faire une boucle qui parcoure tant tableau avec une belle condition (tu devise ton nombre sur les nombre allons de 1 a Nbre/2) aller travaille bien bonne chance
    1. Contributeur
      (tu devise ton nombre sur les nombre allons de 1 a Nbre/2
      On va peut-être éviter le 1 car il y a beaucoup de nombres divisibles par 1 ;-)))
    2. pour être exact tout les nombre mais je ne vais pas donner tout les réponse elle va ce creusé la tête pour évite ce premier cas