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 :

problème de suite pair et impair


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut problème de suite pair et impair
    Bonjour
    Je commence juste en programmation et j'ai des soucis sur borland c avec les suites pair et imlpair.
    J'ai l'algorithme suivant:

    paramètre d'entée:
    u
    Variable:
    r
    Début
    connaitre (u)
    Tant que u!=1 faire:
    si u pair
    u<--u/2
    sinon
    u<--3u+1
    fin si
    r<--r+1
    restituer (r,u)
    Fin tant que
    fin


    Et je n'arrive pas à la condition "si u pair".
    Comment le dire sur borland c?
    Merci de me répondre

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if( (un_entier % 2) == 0 ) {
      // Le chiffre est pair
    else {
      // Le chiffre est impair
    }
    L'opérateur % (modulo) est le reste de la division entière.
    K

  3. #3
    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
    salut,
    que veux-tu dire par "je n'arrive pas à la condition si u paire" ?
    si c'est son expression, tu peux faire par ex:
    c'est le modulo, qui signifie "si le reste de u/2 est égal à 0".

  4. #4
    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
    Tu as plusieurs solutions :
    tester le bit de poids le plus faible
    ou calculer le reste de la division par 2
    "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

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut ca marche pas
    merci d'avoir répondu a mon message mais j'ai encore un soucisj'ai le programma suvant:

    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>
    main ()
    {
     int u,r,n;
     printf("Entrer une valeur pour Uo:");
     scanf("%i",&u);
     r=0;
     while (u!=1)
       {
       r=r+1;
               if (u%2==0)
       	{
                    u=u/2;
                    }  
                else
       	{
                     u=3u+1;
                     }
          printf("Au rang %i, Un=%i\n",r,u);
          }
     }
    et ça ne marche pas je suis peut etre un peu blonde sur les bord mais... pourtant...
    merci

  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 Re: problème de suite pair et impair
    Citation Envoyé par florane
    Je commence juste en programmation et j'ai des soucis sur borland c avec les suites pair et imlpair.
    J'ai l'algorithme suivant:

    paramètre d'entée:
    u
    Variable:
    r
    Début
    connaitre (u)
    Tant que u!=1 faire:
    si u pair
    u<--u/2
    sinon
    u<--3u+1
    fin si
    r<--r+1
    restituer (r,u)
    Fin tant que
    fin

    Et je n'arrive pas à la condition "si u pair".
    Comment le dire sur borland c?
    On ne pas faire ton travail à ta place. Si tu as un problème de C, poste ton code. Pour les problèmes de conception, c'est le forum "algorithmes".
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Je pense que Florane ne connaissait pas l'opérateur %; je n'ai pas eu l'impression qu'il demandait qu'on fasse tout le programme à sa place !
    K

  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
    3u+1 est avantageusement remplacé par 3 * u + 1 !
    D'autre part :
    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
    include <stdio.h> 
    // attention au protype de main
    int main (void) 
    { 
     int u,r,n; 
     printf("Entrer une valeur pour Uo:"); 
      // il faudra apprendre à utiliser une utre fonction de saisie à partir de fgets(buf, sizeof(buf), stdin)
     scanf("%i",&u); 
     r=0; 
     // attention si u == 0 tu es un peu dans la m***e 
     while (u!=1) 
       { 
       r=r+1; 
               if (u%2==0) 
          { 
                    u=u/2; 
                    }  
                else 
          { 
                     u=3u+1; 
                     } 
          printf("Au rang %i, Un=%i\n",r,u); 
          } 
      // main doit retourner une valeur
      return 0;
     }
    "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 KiLVaiDeN
    Je pense que Florane ne connaissait pas l'opérateur %; je n'ai pas eu l'impression qu'il demandait qu'on fasse tout le programme à sa place !
    Vu qu'il s'agit à l'évidence d'un exercice et qu'elle a posté exactement 0 lignes de code, on peut légitimement se poser la question. D'ailleurs, son stratagème a fonctionné puisque quelqu'un a posté une solution !
    Pas de Wi-Fi à la maison : CPL

  10. #10
    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
    Emmanuel >> il ne faut pas voir le mal partout
    Florane a posté du code dans un autre thread.
    Et puis, souviens toi de tes débuts.
    "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

  11. #11
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    oops, ce quelqu'un c'est moi : doh !

    Non mais j'ai juste mit la portion de code pour le modulo, je n'ai pas fait la boucle, ni les tests, ni rien d'autre

    Je n'aurais pas répondu si la question avait été "avec cet enoncé, pouvez vous écrire le programme C correspondant" !

    Et puis tu supposes qu'il s'agit d'une fille; je n'avais pas réfléchi à la question, mais si tel est le cas, les filles se faisant tellement rare en informatique, je veux bien l'aider à réussir son exercice, peut-être un jour aurais-je alors la chance d'avoir une collègue blonde à forte poitrine ! euh mais je divague là désolé..
    K

  12. #12
    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
    Emmanuel >> Et puis, souviens toi de tes débuts.
    Mes débuts (fin des années 80) c'était tout seul dans mon coin avec le K&R noir sur les genoux et Turbo C 1.0 et son aide (Ctrl-F1) ! Pas d'Internet à l'époque...
    Pas de Wi-Fi à la maison : CPL

  13. #13
    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 KiLVaiDeN
    Et puis tu supposes qu'il s'agit d'une fille; je n'avais pas réfléchi à la question, mais si tel est le cas, les filles se faisant tellement rare en informatique, je veux bien l'aider à réussir son exercice, peut-être un jour aurais-je alors la chance d'avoir une collègue blonde à forte poitrine ! euh mais je divague là désolé..
    Ouh le vilain sexiste!
    Pas de Wi-Fi à la maison : CPL

  14. #14
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Quitte à me tuer au travail, autant que ça soit agréable !!
    K

Discussions similaires

  1. Impression pages paires et impaires
    Par ely dans le forum Access
    Réponses: 1
    Dernier message: 26/01/2006, 09h44
  2. récupérer que les lignes paires ou impairs d'une proc ,?
    Par c_moi_c_moi dans le forum Oracle
    Réponses: 5
    Dernier message: 16/11/2005, 18h03
  3. VB Comment savoir si un chiffre est pair ou impair ?
    Par PRACH dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 07/09/2005, 18h02
  4. Problème affichage suite jointure
    Par xavier1977 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/07/2005, 15h00
  5. Réponses: 4
    Dernier message: 30/06/2002, 20h23

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