Comment choisir un e seule lettre dans une chaine de lettre ?? Help !

Comment choisir un e seule lettre dans une chaine de lettre ?? Help ! - C++ - Programmation

Marsh Posté le 08-01-2008 à 22:51:38    

Bonjour,
 
Je programme un peu en C++ est j'aurai besoin de deux choses. C'est pour cela que je viens vous consulter  
 
1° Comment choisir un seul carctere dans une chaine de caracteres. Je m'explique je rentre un valeur telle que : ABCD
je voudrai par un choix aléatoire (randn) qu'il me donne aléatoirement comme bon lui semble juste une valeur tele que : B
 
 
2° Peut'on est si oui comment comparer deux valeur non numerique. Je voudrai qu'un mots defini à l'avance prenne la valeur soit 1 soit 0 lorsque je compare si A==A alors le mots passe à 1 sinon pas égalité elle reste à 0
 
 
je sais je n'explique pas trés bien. Mais se serai vraiment génial si vous pouvez m'aider.
 
Cordialement J.B

Reply

Marsh Posté le 08-01-2008 à 22:51:38   

Reply

Marsh Posté le 08-01-2008 à 23:08:16    

On programme ou on ne programme pas. C'est un booléen

Reply

Marsh Posté le 08-01-2008 à 23:10:42    

GrosBocdel a écrit :

On programme ou on ne programme pas. C'est un booléen


c'est à dire ? c'est possible ?  
Aidez moi stp . je suis bien en galere là

Reply

Marsh Posté le 08-01-2008 à 23:17:13    

Code :
  1. std::string machaine("une chaine comme une autre quoi !" );
  2. // renvoit un entier aleatorie entre 0 et machaine.size()-1;
  3. int idx = (int) (((float ) rand() / RAND_MAX * machaine.size()) );
  4. std::cout << machaine[idx] << std::endl;
 

Pour la comparaison de chaine, std::string supporte l'operateur == nativement


Message édité par Joel F le 08-01-2008 à 23:17:56
Reply

Marsh Posté le 08-01-2008 à 23:25:04    

Tout d'abord merci de m'aider !
 
mais je ne n'arrive pas à comprendre ta demarche.  
 
Si je veu recupérer la lettre U dans la chaine "SALUT"
 
je dois  
int idx;
std::string machaine("SALUT" );
 
// renvoit un entier aleatorie entre 0 et machaine.size()-1;  
int idx = (int) (((float ) rand() / RAND_MAX * machaine.size(3)) );
 
std::cout << machaine[idx] << std::endl;
getch();
 
 
Mais je n'y arrive pas?  

Reply

Marsh Posté le 08-01-2008 à 23:27:12    

atta, tu veut bien une lettre AU HASARD non ? ou j'ai pas compris ?
 
et qu'entends tu par je n'y arrive pas ?

Reply

Marsh Posté le 08-01-2008 à 23:30:22    

Joel F a écrit :

atta, tu veut bien une lettre AU HASARD non ? ou j'ai pas compris ?
 
et qu'entends tu par je n'y arrive pas ?


Oui au hazard! En faite je te dis clairement mon mots sera de 4 lettres (toujours) et je voudrai qu'il me choisise au hazard une lettre et qu'il me la stock dans un mots systeme que j'aurai defini.
 
Excusez moi, je programme des automates et electricité le ladder je connais mais le c++ c'est bien différent
 
Merci de m'aider

Reply

Marsh Posté le 08-01-2008 à 23:33:17    

je comprends rien à ce que tu dit, qu'appelle tu un mot systemes ?

Reply

Marsh Posté le 08-01-2008 à 23:37:36    

On electricité ac les automates on stock une valeurs dans un mots systeme %MW1.... ou %M..... etc  
mais en c++ on dis par exemple x=e+1 dans ce cas le mots systeme pour moi c'est x  
je voudrai qu'il me trouve au hazard une lettre. est qu'il me la stock quelque part .
 
 
merci pour votre patience

Reply

Marsh Posté le 08-01-2008 à 23:40:53    

ca s'appelle une variable.
Jepense qu'un bon petit rappel de base de C++ ne te ferais aps de mal...
 
sinon
 

Code :
  1. int idx;
  2. std::string machaine("SALUT" );
  3. // renvoit un entier aleatorie entre 0 et machaine.size()-1;   
  4. int idx = (int) (((float ) rand() / RAND_MAX * machaine.size(3)) );
  5. char malettre = machaine[idx];

Reply

Marsh Posté le 08-01-2008 à 23:40:53   

Reply

Marsh Posté le 08-01-2008 à 23:43:04    

oui je crois aussi. Je viens de mis remettre.  
 
Et si maintenant je veux qu'il me donne la 2° lettre  
Un truc deffini sans le rand() il me suffit de supprimer  
rand() / RAND_MAX ??  
 
 
 

Reply

Marsh Posté le 08-01-2008 à 23:43:15    

merci encore  

Reply

Marsh Posté le 08-01-2008 à 23:45:07    

si tu veut la deuxieme lettre c'est machaine[1]

Reply

Marsh Posté le 08-01-2008 à 23:50:00    

Joel F a écrit :

si tu veut la deuxieme lettre c'est machaine[1]


Parfait ! merci  
 
Pour se qui est de la comparaison d'une lettre  ca marche comme pour les chiffres ?  
 
je voudrai comparer deux lettre ensemble si elle sont identique alors une variable passe à 1 dans le cas contraire la varaible reste Null.
 
 
C'est ma dernier question .  
 
Merci

Reply

Marsh Posté le 08-01-2008 à 23:54:55    

namaste_jym a écrit :

Pour se qui est de la comparaison d'une lettre  ca marche comme pour les chiffres ?  
C'est ma dernier question .


Oui

Reply

Marsh Posté le 08-01-2008 à 23:58:19    

merci à bientot j'aurai encore besoin de pro comme vous !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed