
Permutation
8 messages
• Page 1 sur 1
Permutation
bonsoir, monsieur
Aprés, avoir entamé l'exercice 2 du tp 2 , je me suis hurté a un probléme qui peux paraître bête
. je ne sais plus afficher le resultat de la permutation
demander dans l'exercice.
voici mon programme:
#include <iostream>
using namespace std;
int main()
{
int nb,nb2,permute;
cout<<"veuillez saisir deux nombre"<<endl;
cin>>nb>>nb2;
permute<<nb;
nb<<nb2;
nb2<<permute;
cout<<?<<endl;
}
merci !!!
Aprés, avoir entamé l'exercice 2 du tp 2 , je me suis hurté a un probléme qui peux paraître bête


voici mon programme:
#include <iostream>
using namespace std;
int main()
{
int nb,nb2,permute;
cout<<"veuillez saisir deux nombre"<<endl;
cin>>nb>>nb2;
permute<<nb;
nb<<nb2;
nb2<<permute;
cout<<?<<endl;
}
merci !!!
- Cyril
- Messages: 4
- Inscription: 21 Oct 2009, 18:23
Re: Permutation
Salut Cyril,
attention, tu fais une erreur : tu te trompes avec l'affectation (c'est à dire mettre une valeur dans une variable)?
En algorithmique, il faut faire par exemple :
En C++, il faut faire :
Ensuite, si tu veux afficher la valeur qu'il y a dans la variable, il faut faire :
J'espère que c'est plus clair !
attention, tu fais une erreur : tu te trompes avec l'affectation (c'est à dire mettre une valeur dans une variable)?
En algorithmique, il faut faire par exemple :
- Code: Tout sélectionner
permute <- nb
En C++, il faut faire :
- Code: Tout sélectionner
permute = nb;
Ensuite, si tu veux afficher la valeur qu'il y a dans la variable, il faut faire :
- Code: Tout sélectionner
cout << "valeur de permute : " << permute << endl;
J'espère que c'est plus clair !
- Tibo
- Administrateur du site
- Messages: 147
- Inscription: 26 Mar 2008, 13:58
Re: Permutation
bonsoir, monsieur
je vous remercie de votre aide , j'ai bien compris mes erreurs.
je vous remercie de votre aide , j'ai bien compris mes erreurs.
- Cyril
- Messages: 4
- Inscription: 21 Oct 2009, 18:23
Re: Permutation
bonsoir, monsieur
je suis actuellement entrain de refaire tout les exercices du tp 4 que je commence a bien comprendre et a connaître par coeur .
Mais dans l'ensemble des derniers exercices un compteur (cpt++)apparaît,mon problème est le suivant , je ne comprend pas le rôle du deuxième (+).
Par exemple :
#include<iostream>
#include<string>
using namespace std;
int main ()
{
string mdp;
int cpt=0;
cout<<" veuillez saisir votre mot de passe"<<endl;
cin>>mdp;
while((mdp != "3xrf6")&& (cpt<3))
{
cout<<" erreur mdp, il vous reste : "<<3-cpt<<"essaie"<<endl;
cin>>mdp;
cpt++;
}
if (mdp == "3xrf6"){
cout<<"le renard a perdu son chapeau"<<endl;
}else{
cout<<"erreur mot de passe"<<endl;
}
}
merci !!!
je suis actuellement entrain de refaire tout les exercices du tp 4 que je commence a bien comprendre et a connaître par coeur .
Mais dans l'ensemble des derniers exercices un compteur (cpt++)apparaît,mon problème est le suivant , je ne comprend pas le rôle du deuxième (+).
Par exemple :
#include<iostream>
#include<string>
using namespace std;
int main ()
{
string mdp;
int cpt=0;
cout<<" veuillez saisir votre mot de passe"<<endl;
cin>>mdp;
while((mdp != "3xrf6")&& (cpt<3))
{
cout<<" erreur mdp, il vous reste : "<<3-cpt<<"essaie"<<endl;
cin>>mdp;
cpt++;
}
if (mdp == "3xrf6"){
cout<<"le renard a perdu son chapeau"<<endl;
}else{
cout<<"erreur mot de passe"<<endl;
}
}
merci !!!
- Cyril
- Messages: 4
- Inscription: 21 Oct 2009, 18:23
Re: Permutation
Quand le langage C a été inventé, ils ont essayé de faire simplifier la vie des programmeurs. Il y a donc plein d'astuces pour aller plus vite. En réalité, écrire
Il est aussi possible d'écrire de manière équivalente :
De ces règles, tu peux en déduire qu'il est possible d'écrire :
mais aussi
J'espère que c'est clair...
- Code: Tout sélectionner
cpt++;
- Code: Tout sélectionner
cpt=cpt+1;
Il est aussi possible d'écrire de manière équivalente :
- Code: Tout sélectionner
cpt+=1;
De ces règles, tu peux en déduire qu'il est possible d'écrire :
- Code: Tout sélectionner
cpt--;
cpt=cpt-1;
cpt-=1;
mais aussi
- Code: Tout sélectionner
cpt/=5; // ce qui reviens à cpt=cpt/5;
cpt*=5; // ce qui reviens à cpt=cpt*5;
J'espère que c'est clair...
- Tibo
- Administrateur du site
- Messages: 147
- Inscription: 26 Mar 2008, 13:58
Re: Tp 16
Bonsoir, monsieur
J'ai essayer de finir le TP 16 malheureusement sans succès
voici ce que j'ai fait :
merci de bien vouloir m'aider
J'ai essayer de finir le TP 16 malheureusement sans succès

voici ce que j'ai fait :
- Code: Tout sélectionner
#include<iostream>
#include<string>
using namespace std;
struct Matiere{
string nom;
string prof;
string eleves[5];
float notes[3][5];
};
Matiere initialisation(){
Matiere m;
cout<<"veuillez saisir le nom de la matiere, le nom du professeur et les noms des eleves : "<<endl;
cin>>m.nom;
cin>>m.prof;
for(int cpt=0; cpt<5;cpt++){
cin>>m.eleves[cpt];
}
return m;
};
string CreerMotDePasse(Matiere m){
string mdp="00000";
mdp[0]=m.nom[1];
mdp[1]=m.nom[2];
mdp[2]=m.prof[m.prof.length()-3];
mdp[3]=m.prof[m.prof.length()-2];
mdp[4]=m.prof[m.prof.length()-1];
return mdp;
};
bool validiteMotDePasse(Matiere m,string mdp){
string mdp2;
mdp2=CreerMotDePasse(m);
if(mdp2==mdp){
cout<<"le mot de passe est correct !"<<endl;
return true;
}else{
cout<<"le mot de passe n'est pas correct !"<<endl;
return false;
}
};
void saisirNote(Matiere m,string nomEleve){
int cpt,cpt2;
for (cpt=0; cpt<5; cpt++){
if(nomEleve=m.eleves[cpt]){
cout<<"Veuillez saisir trois notes : "<<m.eleves[cpt]<<endl;
for (cpt2=0; cpt2<3; cpt2++){
cin>>m.notes[cpt2][cpt];
}else{
cout<<"Une erreur s'est produite lors de la saisie des notes "<<endl;
}
}
}
};
void main(){
Matiere info;
string mot2passe;
float saisirNote;
info=initialisation();
cout<<CreerMotDePasse(info)<<endl;
cout<<"saisir un mot de passe : "<<endl;
cin>>mot2passe;
if(validiteMotDePasse(info,mot2passe)){
cout<<"OK"<<endl;
}else{
cout<<"KO"<<endl;
}
cout<<saisirNote(info,mot2passe)<<endl;
cin>>mot2passe;
};
merci de bien vouloir m'aider

- Cyril
- Messages: 4
- Inscription: 21 Oct 2009, 18:23
Re: Permutation
Pour commencer sa ira mieux si tu met un "return m" à la fin de ta fonction initialisation() car elle doit renvoyer un objet Matiere.
Ensuite je ne comprend pas trop la fin de ton main
Ton saisirNote demande en paramètre le nom d'un élève ?
Ensuite je ne comprend pas trop la fin de ton main

- Code: Tout sélectionner
cout<<saisirNote(info,mot2passe)<<endl;
cin>>mot2passe;
Ton saisirNote demande en paramètre le nom d'un élève ?
- N4th
- Messages: 14
- Inscription: 28 Mar 2008, 23:30
Re: Permutation
Bonjour Cyril !
Comme le dit N4th (merci à lui
), ta fonction initialisation() doit renvoyer une matière pour que dans le main() tu puisse la récupérer dans ta variable info.
Ensuite, ta fonction saisirNote prend en paramètre une variable de type matière et un string correspondant au nom d'un élève. D'où deux problème :
- Dans ta fonction nomEleve, il faut te rappeler que pour tester l'égalité, il faut utiliser == !
- Dans la fonction main, il faut que tu demande à l'utilisateur quel élève (le nom) il veux modifier avant d'appeler la fonction :
Enfin, il ne fallait pas mettre la fonction dans un cout car la fonction ne renvoie rien qui puisse être affiché (elle est de type void) !
Comme le dit N4th (merci à lui

Ensuite, ta fonction saisirNote prend en paramètre une variable de type matière et un string correspondant au nom d'un élève. D'où deux problème :
- Dans ta fonction nomEleve, il faut te rappeler que pour tester l'égalité, il faut utiliser == !
- Dans la fonction main, il faut que tu demande à l'utilisateur quel élève (le nom) il veux modifier avant d'appeler la fonction :
- Code: Tout sélectionner
cout<<"quel est le nom de l'eleve à modifier ?"<<endl;
cin>>nomE;
saisirNote(info, nomE);
Enfin, il ne fallait pas mettre la fonction dans un cout car la fonction ne renvoie rien qui puisse être affiché (elle est de type void) !
- Tibo
- Administrateur du site
- Messages: 147
- Inscription: 26 Mar 2008, 13:58
8 messages
• Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités