Nombre aleotoire

Résolu
ghada -  
hghada Messages postés 2 Statut Membre -
Bonjour, je suis encore débutante en programmation ... le programme suivant qui vise a remplir un tableau par des caractères aléatoire parmi les suivant : r , b , j ,v , o , m et l'afficher en suit , n'a pas marcher ... la problème et qu'a chaque fois que j'exécute mon programme je trouve le même affichage .. je pence que l'initialisation de nombre aléatoire c'est elle qui n'a pas marcher ... voila mon programme :

#include<iostream>
#include<ctime>
#include<conio.h>
#include<cstdlib>
#define maxcombi 4
#define maxcouleurs 6
using namespace std ;
int i ;
char mm_combi[maxcombi];
void main()
{unsigned a ;

for (i=0;i<maxcombi;i++)
{
srand(time(NULL));
a=rand()%(maxcouleurs) +1 ;
 switch (a)
 { case 1 :mm_combi[i]='r';
  case 2 :mm_combi[i]='b';
  case 3 :mm_combi[i]='v';
  case 4 :mm_combi[i]='o';
  case 5 :mm_combi[i]='j';
  case 6 :mm_combi[i]='m';
 break;
 };
}
cout <<mm_combi<<"\t"<<endl;
getch();
}


l'affichage et le suivant :
m m m m

aide moi svp :( ..

EDIT: Ajout de la coloration syntaxique.

1 réponse

  1. Utilisateur anonyme
     
    Salut,

    Le problème vient de ton switch : il faut un break à chaque case.
    Par ailleurs, mets
    srand(time(NULL));
    avant le for, plutôt qu'à chaque itération.
    0
    1. ghada
       
      c'est résolu ... merci bien :) =D ...
      0
    2. ghada
       
      j'ai encore une problème :p ...
      comment pourrait enregistrer le tableau rempli dans un ficher et le met dans le bureau ? :/ ...
      0
    3. Utilisateur anonyme
       
      Ce problème étant différent, merci de créer un nouveau sujet.
      0
      1. hghada Messages postés 2 Statut Membre > Utilisateur anonyme
         
        d'accord ... merci bien :) ...
        0