Affectation de plusieurs variables dans une seule.

Affectation de plusieurs variables dans une seule. - C++ - Programmation

Marsh Posté le 03-04-2006 à 21:25:58    

Bonjour,
Je ne sais pas si mon titre est tres explicite mais je ne sais pas trop comment resumer mon probleme sans exemple.
Voici ce que je veut faire:
J'ai une variable "a" qui a pour valeur 1 et une autre "b" qui a pour valeur 2.
Et je voudrais, à une variable "c", affecter les deux autres c'est a dire que "c" aurait pour valeur 12 (a b).
Et puis par la même occasion est-ce que si j'avais des variables char (avec des caractères) cela pourrais se faire de la même facon?
Merci d'avance pour vos reponses ou vos suggestions.

Reply

Marsh Posté le 03-04-2006 à 21:25:58   

Reply

Marsh Posté le 03-04-2006 à 22:18:36    

un tableau? une chaîne?

Reply

Marsh Posté le 03-04-2006 à 22:40:23    

Tu peux faire une structure aussi éventuellement, la question est "Quel est le but de la maneuvre ?"

Reply

Marsh Posté le 04-04-2006 à 00:38:42    

Je sais pas si c'est ce qu'il veut faire ? :
 
 
int A = 1;
int B = 2;
 
conversion de A et B en string puis addition des deux pour avoir le string = "12" ?

Reply

Marsh Posté le 04-04-2006 à 10:42:28    

Ca marche si a et b sont compris entre 0 et 9 mais au dela ou si négatif tu vas avoir un problème. C'est quoi l'intérêt de la manoeuvre ?

Reply

Marsh Posté le 04-04-2006 à 16:18:43    

En fait j'essayais de creer un convertisseur decimal vers binaire par division successive sauf que le resultat s'affiche a l'envers: il faut le lire de la droite vers la gauche.
Alors je pensais affecter a la variable "resultat" le reste de la division et replacer derrière la varible "resultat".  
En image :d  
Pour l'instant j'ai ca:

Code :
  1. cout<<resultat;


mais je voudrais faire quelque chose comme ca:
 

Code :
  1. resultat = reste + reultat
  2. cout<<resultat;


 
Ce qui me permeterais de "retourner" la variable.


Message édité par elephant13 le 04-04-2006 à 16:19:36
Reply

Marsh Posté le 04-04-2006 à 17:50:46    

S'il ne sagit que d'afficher le résultat, tu affiches après le calcul style en récursif :

Code :
  1. void binaire(int x)
  2. {
  3.   if (x != 0)
  4.   {
  5.      binaire(x/2);
  6.      printf("%d", x%2);
  7.   }
  8. }


Message édité par Trap D le 04-04-2006 à 17:51:31
Reply

Marsh Posté le 04-04-2006 à 18:52:43    

Voici mon code

Code :
  1. while (nb != 0)
  2. {
  3.      x = nb % 2;
  4.      cout << x;
  5.      nb /= 2;   
  6. }


Donc je pense que le tien fera pareil et en plus c'est pas du c++ (printf).

Reply

Marsh Posté le 04-04-2006 à 19:01:44    

elephant13 a écrit :

Voici mon code

Code :
  1. while (nb != 0)
  2. {
  3.      x = nb % 2;
  4.      cout << x;
  5.      nb /= 2;   
  6. }


Donc je pense que le tien fera pareil et en plus c'est pas du c++ (printf).


non, car toi c'est itératif et moi récursif, écris les premières boucles tu verras qu'il y a une différence, si tu veux faire de l'itératif, il faut empiler les x puis les dépiler à l'écriture style

Code :
  1. while (nb != 0)
  2. {
  3.   empile (nb%2);
  4.   nb /= 2;
  5. }
  6. while (pile_non_vide())
  7. {
  8.   cout << depile();
  9. }
  10. puts("" );

Ce qui n'est pas très efficace je te l'accorde.
}

Reply

Marsh Posté le 04-04-2006 à 19:20:40    

Sinon je viens de tester ça qui fonctionne :

Code :
  1. void binaire2(unsigned int x)
  2. {
  3. unsigned int n = 1 << CHAR_BIT * (sizeof(unsigned int)) - 1; // pour être plus portable (include <limits.h>
  4. unsigned int val;
  5. int flag = 0;
  6. while (n != 0)
  7. {
  8.  val = x & n;
  9.  if (flag == 1 && val == 0)
  10.   cout << 0;
  11.  else
  12.  if (val)
  13.  {
  14.   cout << 1,
  15.      flag = 1;
  16.  }
  17.  n >>= 1;
  18. }
  19. }


Message édité par Trap D le 04-04-2006 à 19:29:17
Reply

Marsh Posté le 04-04-2006 à 19:20:40   

Reply

Marsh Posté le 04-04-2006 à 20:16:38    

Pour le code avec empile, il me met que la fonction n'est pas declarer.
Je suppose qu'il faut ecrire #include ??????? c'est quoi le fichier

Reply

Marsh Posté le 04-04-2006 à 20:48:45    

<<empile>> c est du pseudo code: tu doit l écrire toi même! ;)

Reply

Marsh Posté le 04-04-2006 à 20:51:39    

la bibliothèque standard fournie un adaptateur de sequence qui s'utilise comme une pile -> std::stack

Reply

Sujets relatifs:

Leave a Replay

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