Nombre aleotoire

Résolu
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. 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. c'est résolu ... merci bien :) =D ...
      0
    2. j'ai encore une problème :p ...
      comment pourrait enregistrer le tableau rempli dans un ficher et le met dans le bureau ? :/ ...
      0
    3. Ce problème étant différent, merci de créer un nouveau sujet.
      0