Permutation en C++
loic.vazquez
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un exercice a faire mais je ne comprend pas bien ce qu'il faut faire.
J'ai déjà fait ce code la dans CodeBlock mais ma prof me dit que ce n'est pas comme ça que ça doit être fait pourtant le résultat est celui que demande l'enoncé non ?
Vous trouverez l'enoncer de mon exercice et en dessous le code que j'ai écris dans CodeBlock
Écrivez un programme qui demande 3 entiers et qui les permute.
Les affichages demandés sont :
Avant la permutation, le 1er entier = ? et le 2èm entier = ? et le 3èm entier = ?
Après la permutation, le 1er entier = ? et le 2èm entier = ? et le 3èm entier = ?
Version 1 : Le 1er entier va dans le 2
ème
, le 2ème dans le 3ème et le 3ème dans le 1er
Version 2 : Le 1er entier va dans le 3
ème
, le 3ème dans le 2ème et le 2ème dans le 1er
mais ne connaissant pas le code encore bien comme il faut, je ne sais pas comment m'y prendre. Est-ce que quelqu'un serais m'aider sans me donner la réponse afin que j'essaye ? Ou est-ce le même type d'exercice que l'autre
Merci beaucoup
J'ai un exercice a faire mais je ne comprend pas bien ce qu'il faut faire.
J'ai déjà fait ce code la dans CodeBlock mais ma prof me dit que ce n'est pas comme ça que ça doit être fait pourtant le résultat est celui que demande l'enoncé non ?
Vous trouverez l'enoncer de mon exercice et en dessous le code que j'ai écris dans CodeBlock
Écrivez un programme qui demande 3 entiers et qui les permute.
Les affichages demandés sont :
Avant la permutation, le 1er entier = ? et le 2èm entier = ? et le 3èm entier = ?
Après la permutation, le 1er entier = ? et le 2èm entier = ? et le 3èm entier = ?
Version 1 : Le 1er entier va dans le 2
ème
, le 2ème dans le 3ème et le 3ème dans le 1er
Version 2 : Le 1er entier va dans le 3
ème
, le 3ème dans le 2ème et le 2ème dans le 1er
#include <iostream> using namespace std; int main() { //Écrivez un programme qui demande 3 entiers et qui les permute. //Les affichages demandés sont : int a,b,c; cout << "Entrer 3 entier pour la permutation" << endl; cin >> a >> b >> c; cout << endl; cout << "Avant la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl; cout << "1er entier = " << a << "; 2eme entier = " << b << "; 3eme entier = " << c << endl; cout << endl; cout << "Apres la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl; cout << endl; //Version 1 : Le 1er entier va dans le 2ème, le 2ème dans le 3ème et le 3ème dans le 1er cout << "Version 1" << endl; cout << "Le 1er entier va dans le 2eme, le 2eme dans le 3eme et le 3eme dans le 1er." << endl; cout << a << " = " << c << endl; cout << b << " = " << a << endl; cout << c << " = " << b << endl; cout << endl; //Version 2 : Le 1er entier va dans le 3ème, le 3ème dans le 2ème et le 2ème dans le 1er cout << "Version 2" << endl; cout << "Le 1er entier va dans le 3eme, le 3eme dans le 2eme et le 2eme dans le 1er." << endl; cout << a << " = " << c << endl; cout << c << " = " << b << endl; cout << b << " = " << a << endl; return 0; }
mais ne connaissant pas le code encore bien comme il faut, je ne sais pas comment m'y prendre. Est-ce que quelqu'un serais m'aider sans me donner la réponse afin que j'essaye ? Ou est-ce le même type d'exercice que l'autre
Merci beaucoup
3 réponses
Bonjour,
Par permutation on entends modification des valeurs.
C'est à dire que le résultat attendu doit se faire avec toujours le même affichage des même variables dans le même ordre, c'est leur valeur qui aura changé entre temps pour produire un résultat différent.
Par permutation on entends modification des valeurs.
C'est à dire que le résultat attendu doit se faire avec toujours le même affichage des même variables dans le même ordre, c'est leur valeur qui aura changé entre temps pour produire un résultat différent.
cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl;
Mais sinon le reste de mon exercice est juste ?
Parce que d'après ma prof et d'après ce que j'en ai conclu, il doit avoir autre chose.
merci en tout cas pour ton aide
Parce que d'après ma prof et d'après ce que j'en ai conclu, il doit avoir autre chose.
merci en tout cas pour ton aide
ça doit donc donné ceci dans mon code :
#include <iostream>
using namespace std;
int main()
{
//Écrivez un programme qui demande 3 entiers et qui les permute.
//Les affichages demandés sont :
int a,b,c;
cout << "Entrer 3 entier pour la permutation" << endl;
cin >> a >> b >> c;
cout << endl;
cout << "Avant la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl;
cout << "1er entier = " << a << "; 2eme entier = " << b << "; 3eme entier = " << c << endl;
cout << endl;
cout << "Apres la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl;
cout << endl;
//Version 1 : Le 1er entier va dans le 2ème, le 2ème dans le 3ème et le 3ème dans le 1er
cout << "Version 1" << endl;
cout << "Le 1er entier va dans le 2eme, le 2eme dans le 3eme et le 3eme dans le 1er." << endl;
cout << "a = " << c << endl;
cout << "b = " << a << endl;
cout << "c = " << b << endl;
cout << endl;
//Version 2 : Le 1er entier va dans le 3ème, le 3ème dans le 2ème et le 2ème dans le 1er
cout << "Version 2" << endl;
cout << "Le 1er entier va dans le 3eme, le 3eme dans le 2eme et le 2eme dans le 1er." << endl;
cout << "a = " << c << endl;
cout << "c = " << b << endl;
cout << "b = " << a << endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
//Écrivez un programme qui demande 3 entiers et qui les permute.
//Les affichages demandés sont :
int a,b,c;
cout << "Entrer 3 entier pour la permutation" << endl;
cin >> a >> b >> c;
cout << endl;
cout << "Avant la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl;
cout << "1er entier = " << a << "; 2eme entier = " << b << "; 3eme entier = " << c << endl;
cout << endl;
cout << "Apres la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl;
cout << endl;
//Version 1 : Le 1er entier va dans le 2ème, le 2ème dans le 3ème et le 3ème dans le 1er
cout << "Version 1" << endl;
cout << "Le 1er entier va dans le 2eme, le 2eme dans le 3eme et le 3eme dans le 1er." << endl;
cout << "a = " << c << endl;
cout << "b = " << a << endl;
cout << "c = " << b << endl;
cout << endl;
//Version 2 : Le 1er entier va dans le 3ème, le 3ème dans le 2ème et le 2ème dans le 1er
cout << "Version 2" << endl;
cout << "Le 1er entier va dans le 3eme, le 3eme dans le 2eme et le 2eme dans le 1er." << endl;
cout << "a = " << c << endl;
cout << "c = " << b << endl;
cout << "b = " << a << endl;
return 0;
}
C'est le même code que tout à l'heure donc ma réponse est la même.
Tu ne fais pas ce que l'on te demande, tu dois modifier les valeurs et toujours afficher les variables dans le même ordre pour montrer qu'elle ont changé.
Toi tu triches à l'aide d'un subterfuge qui fait croire que tu affiches "a" (par exemple) alors qu'en fait ce n'est pas la variable "a" que tu affiches, mais en vrai le valeur réelle de "a" est toujours la même, au début comme à la fin, "a" vaut toujours 1...
Tu ne fais pas ce que l'on te demande, tu dois modifier les valeurs et toujours afficher les variables dans le même ordre pour montrer qu'elle ont changé.
Toi tu triches à l'aide d'un subterfuge qui fait croire que tu affiches "a" (par exemple) alors qu'en fait ce n'est pas la variable "a" que tu affiches, mais en vrai le valeur réelle de "a" est toujours la même, au début comme à la fin, "a" vaut toujours 1...
Mais a ce moment la que dois-je changer dans mon code pour que ce ne soit pas pris comme un subterfuge ?
Parce que j'ai essayé d'autre code en changeant et en mettant ce que j'ai pus trouver sur internet mais je ne vois pas ou est mon erreur ?
Merci
Parce que j'ai essayé d'autre code en changeant et en mettant ce que j'ai pus trouver sur internet mais je ne vois pas ou est mon erreur ?
Merci
Comme je le mettais dans ma première réponse tu dois toujours avoir ce code :
Il faudra cependant modifier les valeurs (les permuter dans ton cas) pour avoir des affichages différents mais qui correspondront réellement à l'état des variables.
cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl;
Il faudra cependant modifier les valeurs (les permuter dans ton cas) pour avoir des affichages différents mais qui correspondront réellement à l'état des variables.
Désoler mais je comprend pas, je dois vraiment pas comprendre un truc.
J'ai changer ce qu'il fallait par le code que tu m'as donner en ligne 21 22 23 28 29 30 donc ça doit donner ce code :
Est-ce que j'ai fais une erreur ou est-ce que c'est correct maintenant.
Je suis chiant je sais mais j'aimerai comprendre comme il faut pour pouvoir faire ce genre d'exercice lors de mon examen.
Merci
J'ai changer ce qu'il fallait par le code que tu m'as donner en ligne 21 22 23 28 29 30 donc ça doit donner ce code :
#include <iostream> using namespace std; int main() { //Écrivez un programme qui demande 3 entiers et qui les permute. //Les affichages demandés sont : int a,b,c; cout << "Entrer 3 entier pour la permutation" << endl; cin >> a >> b >> c; cout << endl; cout << "Avant la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl; cout << "1er entier = " << a << "; 2eme entier = " << b << "; 3eme entier = " << c << endl; cout << endl; cout << "Apres la permutation, le 1er entier = ? et le 2eme entier = ? et le 3eme entier = ? " << endl; cout << endl; //Version 1 : Le 1er entier va dans le 2ème, le 2ème dans le 3ème et le 3ème dans le 1er cout << "Version 1" << endl; cout << "Le 1er entier va dans le 2eme, le 2eme dans le 3eme et le 3eme dans le 1er." << endl; cout << "a = " << c << endl; cout << "b = " << a << endl; cout << "c = " << b << endl; cout << endl; //Version 2 : Le 1er entier va dans le 3ème, le 3ème dans le 2ème et le 2ème dans le 1er cout << "Version 2" << endl; cout << "Le 1er entier va dans le 3eme, le 3eme dans le 2eme et le 2eme dans le 1er." << endl; cout << "a = " << c << endl; cout << "c = " << b << endl; cout << "b = " << a << endl; return 0; }
Est-ce que j'ai fais une erreur ou est-ce que c'est correct maintenant.
Je suis chiant je sais mais j'aimerai comprendre comme il faut pour pouvoir faire ce genre d'exercice lors de mon examen.
Merci
Tu as écrit :
Puis :
Or tu devrais écrire, pour les deux :
Comme ça tu affiches bien la réalité des valeurs de a, b et c.
Mais tu n'as toujours pas modifié les valeurs de tes variables, donc pour l'instant tu n'as toujours pas fait ce que l'on te demande, tu n'as rien permuté du tout...
cout << "a = " << c << endl; cout << "b = " << a << endl; cout << "c = " << b << endl;
Puis :
cout << "a = " << c << endl; cout << "c = " << b << endl; cout << "b = " << a << endl;
Or tu devrais écrire, pour les deux :
cout << "a = " << a << endl; cout << "b = " << b << endl; cout << "c = " << c << endl;
Comme ça tu affiches bien la réalité des valeurs de a, b et c.
Mais tu n'as toujours pas modifié les valeurs de tes variables, donc pour l'instant tu n'as toujours pas fait ce que l'on te demande, tu n'as rien permuté du tout...
Il faut que tu modifies tes variables.
Exemple : tu saisis au clavier 1 et 2 donc tes variables a et b valent 1 et 2, tu dois les modifier pour que les deux valeurs permutent, a et b vaudront alors 2 et 1.
Comme ça l'affichage donnera bien que a=2 et b=1, car ce sera vraiment les bonnes valeurs de ces deux variables.
Exemple : tu saisis au clavier 1 et 2 donc tes variables a et b valent 1 et 2, tu dois les modifier pour que les deux valeurs permutent, a et b vaudront alors 2 et 1.
Comme ça l'affichage donnera bien que a=2 et b=1, car ce sera vraiment les bonnes valeurs de ces deux variables.