IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

algo sur les nombres premiers : probleme de complation


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut algo sur les nombres premiers : probleme de complation
    Bonjour à tous.
    je vous expose mon probleme : je suis debutant en prog C et je veux realiser un programme parmettant de dire si un nombre, entré par un utilisateur, est premier ou pas. j'ai ecrit le programme, et à la compilation, le compilateur m indique pls erreurs. est-ce que quelqu'un peut m'aider à résoudre ces errreurs car je n'y arrive pas merci d'avance.
    ci-dessous le programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
    #include <stdlib.h>
     
    void main()
    {      
     
           int y,x,reste;       
           x<=y;
           printf("taper le nombre que vous voulez connaitre :\n");
           scanf("%d",&y);
     
           while (x!=y)        
           {     x=1;
                 y%x = reste;                  
                 if (reste=0)
                 {       printf("ce nombre n est pas premier.\n");
                 }
                 else   x++;    
          }
          printf("ce nombre est premier\n");
    system ("pause");
    }

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    le compilateur m indique pls erreurs
    Qui soint ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    #include <stdio.h> 
    #include <stdlib.h> 
     
    void main() 
    { 
     
    int y,x,reste; 
     
     
    //c'est pour faire quoi cela ?
    x<=y; 
     
     
    printf("taper le nombre que vous voulez connaitre :\n"); 
    scanf("%d",&y); 
     
     
    //x vaut quoi a ce moment la quand tu fais ta comparaison ? tu en as idée ?
    while (x!=y) 
    { x=1; 
    y%x = reste;  // une erreur de compil ici ? ca dis quoi ?
    if (reste=0)   // test toujours faux car tu affectes 0 a reste tu ne testes pas l'égalité (==)
    { printf("ce nombre n est pas premier.\n"); 
    } 
    else x++; 
    } 
    printf("ce nombre est premier\n");  // ca va etre dur d'en deduire cela :)
    system ("pause"); 
    }
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: algo sur les nombres premiers : probleme de complation
    Citation Envoyé par Mr SHoBi
    j'ai ecrit le programme, et à la compilation, le compilateur m indique pls erreurs.
    Oh le vilain compilateur !

    Deboguage. Je te laisse corriger les erreurs de logiques (relis la défintion d'un nombre premier). Pose des questions si tu ne comprends pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    #include <stdlib.h>
     
    /* ajoute. */
    #include <stdio.h>
     
    /* -ed-
       void main()
     
       main() retourne int. Toujours.
     */
    int main (void)
    {
       int y, x, reste;
     
       /* -ed-
          x <= y;
     
          Cette expression n'a aucun effet.
          Tu voulais faire quoi ?
        */
     
    /* -ed- manque <stdio.h> */
       printf ("taper le nombre que vous voulez connaitre :\n");
       scanf ("%d", &y);
     
    /* -ed-
       x n'a jamais ete initialise'.
       Le comportement est indefini.
     */
       while (x != y)
       {
          x = 1;
    /* -ed-
       y%x = reste;
     
       Les assignations se font de droite à gauche.
       La partie droite est une expression.
       La partie gauche est une variable.
     */
          reste = y % x;
    /* -ed-
       if (reste = 0)
     
       l'operateur de comparaison est '==' et non '='. */
          if (reste == 0)
          {
             printf ("ce nombre n est pas premier.\n");
          }
          else
          {
             x++;
          }
       }
       printf ("ce nombre est premier\n");
     
       /* -ed-
          Comme main() retourne int,
          on retourne quelque chose de valide...
        */
       return 0;
    }
    Pas de Wi-Fi à la maison : CPL

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Bonsoir,
    je ne connais pas grand chose en C mais je connais quelques petites choses en mathématiques, les corrections précédentes de code sont parfaites, mais:

    tu devrais initialiser x=2 et non 1 avant ta boucle while, sinon reste=0 à la première boucle ( en mettant une une condition genre if y>1 else printf("erreur").

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Je te propose ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <stdio.h>
     
     main (){
     
    int i,j=0,nb;
     
    printf("quel nombre voulez-vous tester ? ");
    scanf("%d",&nb);
     
    for (i=2;i<nb;i++) {
    	if ((nb%i)==0) {j=1; break;}
    	}
    if (j==1) printf("ce nombre n'est pas entier !"); 
    	else printf("ce nombre est entier ! ");
     
    while ((i=getchar())!=EOF);
    }
    un nombre entier est divisible par 1 et par lui-même, donc si ton modulo est nul, le nombre n'est pas entier.
    le break n'est pas obligatoire, c'est juste pour raccourcir le calcul pour les nombres élevés. on pourrait remplacer la boucle for par une boucle while avec une incrémentation de i en fin de boucle


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while (i<nb) {
    if ((nb%i)==0) {j=1; break;}
    i++;
    }
    désolé emmanuel le gets est très peu expliqué dans le K&R, je regarderai demain ds le Delanoy pour apprendre à l'utiliser à la place.

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par artatum
    désolé emmanuel le gets est très peu expliqué dans le K&R, je regarderai demain ds le Delanoy pour apprendre à l'utiliser à la place.
    Je n'ai jamais parlé de gets() qui est un bug et qui ne doit pas être utilisé. J'ai parlé de fgets().

    Je t'ai donné au moins 2 fois les liens vers les articles où j'explique pourquoi et comment l'utiliser. Que faire de plus ?
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par artatum
    Je te propose ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    #include <stdio.h>
     
     main (){
     
    int i,j=0,nb;
     
    printf("quel nombre voulez-vous tester ? ");
    scanf("%d",&nb);
     
    for (i=2;i<nb;i++) {
    	if ((nb%i)==0) {j=1; break;}
    	}
    if (j==1) printf("ce nombre n'est pas entier !"); 
    	else printf("ce nombre est entier ! ");
     
    while ((i=getchar())!=EOF);
    }
    C'est exprès la présentation à la hache ?

    Mise au point. Améliorations... Pose des questions si tu ne comprends pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main (void)
    {
       int end;
     
       do
       {
          int nb;
     
          printf ("quel nombre voulez-vous tester ?\n"
                  "(<enter> pour quitter)\n");
          {
             char s[16];
     
             fgets (s, sizeof s, stdin);
             end = *s == '\n';
     
             if (!end)
             {
                nb = (int) strtol (s, NULL, 10);
             }
          }
     
          if (!end)
          {
             int i;
             int not_prime = 0;
     
             for (i = 2; i < nb; i++)
             {
                if ((nb % i) == 0)
                {
                   not_prime = 1;
                   break;
                }
             }
     
             if (not_prime)
             {
                printf ("%d n'est pas premier !\n", nb);
             }
             else
             {
                printf ("%d est premier !\n", nb);
             }
          }
       }
       while (!end);
     
       return 0;
    }
    Pas de Wi-Fi à la maison : CPL

  8. #8
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    C'est un débutant, jecrois, est sans doute un peu dur à comprendre !
    Ton algo est faux, car 1 n'est pas premier !
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Trap D
    C'est un débutant, jecrois, est sans doute un peu dur à comprendre !
    Bof, tout le monde sait qu'une expression logique retourne 0 ou 1... Même en BASIC, c'est vrai...
    Ton algo est faux, car 1 n'est pas premier !
    Possible, je fais du C, pas des maths!
    Pas de Wi-Fi à la maison : CPL

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    emmanuel a écrit:
    Je n'ai jamais parlé de gets() qui est un bug et qui ne doit pas être utilisé. J'ai parlé de fgets().

    Je t'ai donné au moins 2 fois les liens vers les articles où j'explique pourquoi et comment l'utiliser. Que faire de plus ?
    ne pas me demander d'apprendre le fgets en 23 secondes top chrono, je m'y mets aujourd'hui. je note pour gets et je le raye de mon vocabulaire.

    moi je trouve que le code est parfaitement clair comme ça, et en plus on l'a en entier dans la fenêtre. Pour des code plus compliqués j'aurais été un peu plus descriptif (not_prime au lieu de j) mais franchement dans un code court comme ça... et puis perso je préfère ce type de présentation, c'est plus synthétique, et je la relis plus facilement. on voit tout clair d'un coup, et on voit tout de suite les erreurs et les oublis.

  11. #11
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Possible, je fais du C, pas des maths!

    L'important est quand même d'écrire quelque chose de correct, tu insistes assez là-dessus il me semble, et le programme doit être en accord avec la réalité mathématique.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Ok, j'ai compris pour fgets, je l'utiliserai désormais avec strtol.

    fgets (s, sizeof s, stdin);
    end = *s == '\n';
    effectivement, la 2nde ligne m'a posé question, mais je comprends mieux.
    est-ce qu'on peut écrire comme ça:
    ?

    c'est plus clair pour moi, si on peut c'est ce que je ferai.

    il y a juste une chose que je ne comprends pas, c'est le 2nd argument de fgets, sizeof s, ça renvoie à la taille de s en octets, non ? pourquoi pas mettre 16 ?

    merci beaucoup

  13. #13
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    le prog d'Emmanuel donne 1 premier ce qui me semble correct (un nb premier n'est divisible que par 1 et par lui-même)

    A Emmanuel

    Vous priviligiez fgets (...,...,stdin) à gets (...,...) censés être équivalents

    pareil pour fscanf (stdin,...,...) plutôt que scanf(...,...) ?

  14. #14
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par HRS
    Vous priviligiez fgets (...,...,stdin) à gets (...,...) censés être équivalents
    Je me permet de répondre à la place d'Emmanuel, gets ne doit pas être utilisée, aucun contrôle de la taille de la chaine rentrée par l'utilisateur contrairement à fgets.
    http://emmanuel-delahaye.developpez....tes.htm#saisie

    Pour scanf par contre c'est la même chose

  15. #15
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par artatum
    Ok, j'ai compris pour fgets, je l'utiliserai désormais avec strtol.
    si tu veux saisir un nombre,sinon pour une chaine de caracteres le strtol n'a pas lieu d'etre.


    fgets (s, sizeof s, stdin);
    end = *s == '\n';
    effectivement, la 2nde ligne m'a posé question, mais je comprends mieux.
    est-ce qu'on peut écrire comme ça:
    ?
    non,tu peux ecrire ça:
    à ce moment là;end vaudra 0(si *s!='\n') ou un entier different de 0 dans le cas contraire.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    afrikha a écrit:
    non,tu peux ecrire ça:
    Code:
    end=(*s=='\n');
    oui pardon c'est ce que je voulais dire, je me suis trompé en l'écrivant.
    merci de ta réponse.

    pour le strtol, j'avais bien compris que cela ne concernait que la conversion d'un caractère en entier je suis allé regarder dans un bouquin pour apprendre à m'en servir.

    et pour le 2nd argument de fgets, j'ai trouvé la réponse, j'avais oublié qu'une variable caractère ne prend qu'un octet, donc pour une chaîne de caractère s[i], sizeof s=i.

  17. #17
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    merci de ta réponse.
    y'a pas de quoi,c'est normal
    bonne continuation


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  18. #18
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    strtol permet de convertir une chaîne de caractères en nombre, suivant une base donnée en argument.
    long strtol(const char *nptr, char **endptr, int base);
    le double pointeur endptr indique à quel endroit la conversion s'est arrétée et base est la base de conversion.
    A noter que atoi ne doit plus être utilisé.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  19. #19
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par artatum
    Ok, j'ai compris pour fgets, je l'utiliserai désormais avec strtol.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fgets (s, sizeof s, stdin);
             end = *s == '\n';
    effectivement, la 2nde ligne m'a posé question, mais je comprends mieux.
    est-ce qu'on peut écrire comme ça:
    ?
    Non, pas du C. Mais on peut faire ça si tu préfères :
    ou
    ou
    Je préfère généralement la solution qui use le moins le clavier, tant qu'elle reste lisible. (Principe : sauf exception, 1 action par ligne de code).
    il y a juste une chose que je ne comprends pas, c'est le 2nd argument de fgets, sizeof s, ça renvoie à la taille de s en octets, non ? pourquoi pas mettre 16 ?
    Pour faciliter la maintenance. Celui qui a raison ici, c'est le tableau. C'est lui qui donne la taille. Si sa taille change, le code s'adapte automatiquement grace au sizeof. C'est une technique de programmation extrèmement courante dite 'auto-démerdante'.
    Pas de Wi-Fi à la maison : CPL

  20. #20
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par HRS
    le prog d'Emmanuel donne 1 premier ce qui me semble correct (un nb premier n'est divisible que par 1 et par lui-même)
    Je ne discuterais pas de ça, qui, pour moi, est de l'application, pas du codage.
    Vous priviligiez fgets (...,...,stdin) à gets (...,...) censés être équivalents

    pareil pour fscanf (stdin,...,...) plutôt que scanf(...,...) ?
    Non, pas du tout. Je prévilégie fgets(). Point.

    Tout est là.

    http://emmanuel-delahaye.developpez....tes.htm#saisie
    http://emmanuel-delahaye.developpez....s.htm#fichiers

    En résumé, les autres fonctions sont
    • soit buggées (gets() ne peut pas être utilisé portablement de façon sûre),
    • soit indadaptées (*scanf() sert pour des entrées formattées 'mécaniques' et non 'humaines',
    • soit difficiles à mettre en oeuvre correctement (*scanf(), encore lui...)
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/01/2008, 15h53
  2. Algo sur les graphes
    Par BatuBou dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/12/2007, 18h33
  3. Algo sur les factoriels
    Par Panaméen dans le forum Mathématiques
    Réponses: 13
    Dernier message: 04/11/2007, 15h08
  4. Etude sur les nombres pseudo-aléatoires
    Par odsen.s dans le forum C
    Réponses: 14
    Dernier message: 21/05/2007, 00h09
  5. Réponses: 19
    Dernier message: 12/04/2007, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo