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. #21
    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
    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.
    Correct du point de vue du C, oui. L'aspect mathématique ne m'intéresse pas. (Tant qu'il ne concerne pas le codage). Je ne suis pas censé, en tant que codeur C, savoir la définition d'un nombre premier. La discussion "1 est-il premier ou non" a, je crois, été tranchée, et c'est non...

    C'est comme si je balançais un algorithme modélisant le codage ou le décodage HDB3, je pense que pas grand monde ici ne saura de quoi je parle. Il est essentiel de séparer le domaine du codage pur de celui de l'application. Je sais que c'est difficile dans les domaines mathématiques et telecom, parce qu'il y a facilement recouvrement des domaines. C'est sûr que si on fait de la génétique, du traitement d'image ou de la base de données, il y a moins de confusion...

    Si j'écris
    c'est pas une faute de codage. C'est une erreur d'application (Non conformité aux specs). Pareil si je fais
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    double mon_carre (double x)
    {
       return x + x;
    }
    Ca reste du C parfaitement correct. La non-conformité de l'application, c'est un autre problème, qui est testé autrement.

    D'ailleurs, j'avais été clair sur le sujet :
    Je te laisse corriger les erreurs de logiques (relis la défintion d'un nombre premier)

  2. #22
    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
    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.
    Bzzt. Pour éviter toute polémique, je te conseille de ne pas utiliser le mot 'octet' (qui existe en telecom), mais plutôt 'byte' (terme générique en informatique : plus petit espace mémoire adressable d'une architecture donnée) ou son equivallent C : 'char'.

  3. #23
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    surtout que dès qu'on bosse en unicode 16bits (fonctions sur des wchar_t), ce n'est plus vrai...
    Mais bon, l'unicode 16 bits n'est pas standard, donc pour le standard, pour l'instant un sizeof() suffit en effet.

    Mais pour une rigueur totale, ce serait plutôt sizeof(chn)/sizeof(chn[0]) (je crois que la macro ARRAYSIZE fait ceci, quand elle existe)

  4. #24
    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 Médinoc
    surtout que dès qu'on bosse en unicode 16bits (fonctions sur des wchar_t), ce n'est plus vrai...
    Mais bon, l'unicode 16 bits n'est pas standard, donc pour le standard, pour l'instant un sizeof() suffit en effet.
    wchar_t est standard depuis l'addendum de 1995 (NA1).
    Mais pour une rigueur totale, ce serait plutôt sizeof(chn)/sizeof(chn[0])
    Oui, mais injustifié avec l'utilisation d'une fonction standard. Si on utilisait des wchar_t, on utiliserait pas fgets(), mais fgetws().
    (je crois que la macro ARRAYSIZE fait ceci, quand elle existe)
    Ben oui, comme ma macro NELEM() qui existe ici:

    http://emmanuel-delahaye.developpez....b/ed/inc/sys.h

  5. #25
    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
    Merci beaucoup mais au bout d un moment c est devenu trop compliqué pour moi je crois que j'ai compris mes erreurs.
    merci encore a tous

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