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 :

Exercice à résoudre - affectation de variables, calcul, permutations


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Par défaut Exercice à résoudre - affectation de variables, calcul, permutations
    Bonjour, voici du code que j'ai rédigé en partie (dans le cadre d'un exercice qui m'est donné à résoudre):
    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
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
      cout << "Entrez la premiere  valeur : ";
      int a(0);
      cin >> a;
      cout << "Entrez la deuxieme  valeur : ";
      int b(0);
      cin >> b;
      cout << "Entrez la troisieme valeur : ";
      int c(0);
      cin >> c;
    
      cout << "Les valeurs entrees sont : a = " << a << ", b = " << b
           << " et c = " << c << endl;
    
      cout << "Permutation: a ==> b, b ==> c, c ==> a" << endl;
    
      a = c;
      c = b;
      b = a;
    
      cout << "Les valeurs permutees sont : a = " << a << ", b = " << b
           << " et c = " << c << endl;
    
      return 0;
    }
    Le passage souligné et en bleu pose problème, car pour a = 51, b = 876 et c = 235, j'obtiens a = 235, b = 235 et C = 876, or je devrais obtenir a = 235, b = 51 et c = 876

    Quelqu'un a-t-il une piste de solution ?

    Je sens qu'il y a une question de variable temporaire là-dessous et que l'opération devrait soit s'effectuer en deux fois, soit dans un autre sens que celui que je propose, mais pas moyen de trouver la séquence exacte.

    Voici l'énoncé :

    Le but de cet exercice est d’échanger la valeur de trois variables.

    Le code fourni a pour but de demander à l’utilisateur d’entrer trois nombres, de les afficher et devrait ensuite les permuter ; mais le code pour effectuer la permutation est manquant.

    Il vous est demandé de compléter ce programme (entre les commentaires comme indiqué ci-dessus) par le code approprié pour réaliser la permutation suivante : le contenu de a doit aller dans b, celui de b dans c et celui de c dans a.

    En cas de doute, regarder l’exemple de déroulement qui suit.

    Entrez la premiere valeur : 51
    Entrez la deuxieme valeur : 876
    Entrez la troisieme valeur : 235
    Les valeurs entrees sont : a = 51, b = 876 et c = 235
    Permutation: a ==> b, b ==> c, c ==> a
    Les valeurs permutees sont : a = 235, b = 51 et c = 876

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    premièrement, utilise les balises code ([code])

    Ensuite, ton analyse est bonne.

    Pour voir ce qu'il faut faire précisément, prends un crayon, et fais le travail à la main.
    à chacune des instructions de la permutation, écris la valeur des trois variables.
    Ta réponse viendra immédiatement.

    Un ordinateur est juste assez parfait pour faire précisément ce qu'on lui demande. Du coup, c'est au développeur de réfléchir avant de donner des ordres. (ce n'est pas pour rien qu'on parle de programmation impérative)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Par défaut
    Merci Pierre, est-ce que cela veut dire que je dois écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    cout << "Permutation: a ==> b, b ==> c, c ==> a" << endl;
     
    code a = c;
    code c = b;
    code b = a;
     
    cout << "Les valeurs permutees sont : a = " << a << ", b = " << b
    << " et c = " << c << endl;
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    cout << "Permutation: a ==> b, b ==> c, c ==> a" << endl;
     
    a = c;
    c = b;
    b = a;
     
    cout << "Les valeurs permutees sont : a = " << a << ", b = " << b
    << " et c = " << c << endl;
    ou c'est encore autre chose?

    Pardon si la question est un peu "simple", mais je sais que C++ est rigoureux côté syntaxe.

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    avec code, je voulais parler de la balise [code] (le bouton #) du forum, qui permet de présenter le code comme tel.
    ton programme, c'est:
    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 <iostream>
     
    using namespace std;
     
    int main()
    {
    cout << "Entrez la premiere valeur : ";
    int a(0);
    cin >> a;
    cout << "Entrez la deuxieme valeur : ";
    int b(0);
    cin >> b;
    cout << "Entrez la troisieme valeur : ";
    int c(0);
    cin >> c;
     
    cout << "Les valeurs entrees sont : a = " << a << ", b = " << b
    << " et c = " << c << endl;
     
    cout << "Permutation: a ==> b, b ==> c, c ==> a" << endl;
     
    a = c;
    c = b;
    b = a;
     
    cout << "Les valeurs permutees sont : a = " << a << ", b = " << b
    << " et c = " << c << endl;
     
    return 0;
    }

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Si tu regardes attentivement, tu verras que ce n'est pas un problème de syntaxe -pas de problème de ce côté là dans ton code- mais un problème dans les instructions que tu donnes à ton ordinateur.
    Indice: où est conservée la valeur de 'a' dans la séquence:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    a = c;
    c = b;
    b = a;
    Est-ce vraiment la valeur originelle de 'a' que tu affectes à 'b'?

    PS: pour les balises, c'est: [] et [/] avec code à l'intérieur

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Par défaut
    Merci Pierre. Je vais suivre ta consigne.

    Merci Stendhal666. En effet je pense qu'il y a une question de int temp (d) à ajouter pour que la valeur de a soit conservée, sinon elle est disparaît lors de l'affectation b = a.

    Je vais m'y remettre un peu plus tard car j'ai déjà passé 1 heure dessus aujourd'hui et je dois travailler. Je reviens avec la solution.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2014
    Messages : 6
    Par défaut solution
    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
     
    #include <iostream>
     
    using namespace std;
     
    int main()
    {
      cout << "Entrez la premiere  valeur : ";
      int a(0);
      cin >> a;
      cout << "Entrez la deuxieme  valeur : ";
      int b(0);
      cin >> b;
      cout << "Entrez la troisieme valeur : ";
      int c(0);
      cin >> c;
     
      cout << "Les valeurs entrees sont : a = " << a << ", b = " << b
           << " et c = " << c << endl;
     
      cout << "Permutation: a ==> b, b ==> c, c ==> a" << endl;
     
    int temp;
     
      temp = a;
      a = c;
      c = b;
      b = temp;
     
      cout << "Les valeurs permutees sont : a = " << a << ", b = " << b
           << " et c = " << c << endl;
     
      return 0; 
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/08/2008, 18h39
  2. Affecter une variable javascript à une variable php
    Par gwendy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 20h58
  3. affecter une variable de type stringstream
    Par sorari dans le forum SL & STL
    Réponses: 3
    Dernier message: 24/03/2005, 11h14
  4. [PS] affectation de variable
    Par madmortal dans le forum SQL
    Réponses: 2
    Dernier message: 01/09/2004, 13h17
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

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