Caracter aleatoire
kait93
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
bonjour;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
const static char tab[] = ("bmrvon");
char code()
{
return (rand () %4);
}
int main() {
char c[6] = {0};
int i,j;
srand(time(0));
/* combinaison géneré par l'ordinateur*/
for(j=0;j<4;j++)
{c[j] = tab[code()];
}
printf("%s\n\n", c);
getch();
return 0;
}
svp,voila ma fonction je veux juste quel me génère des caractères aléatoir unique donc qui ne se répète ps psq la dès que je l'exécute il me donne des 2ou 3caractere qui se ressemble ,merci
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
const static char tab[] = ("bmrvon");
char code()
{
return (rand () %4);
}
int main() {
char c[6] = {0};
int i,j;
srand(time(0));
/* combinaison géneré par l'ordinateur*/
for(j=0;j<4;j++)
{c[j] = tab[code()];
}
printf("%s\n\n", c);
getch();
return 0;
}
svp,voila ma fonction je veux juste quel me génère des caractères aléatoir unique donc qui ne se répète ps psq la dès que je l'exécute il me donne des 2ou 3caractere qui se ressemble ,merci
A voir également:
- Caracter aleatoire
- Caracter speciaux - Guide
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Vlc lecture aléatoire - Forum Téléphones & tablettes Android
- Comment désactiver le mode aléatoire sur VLC? - Forum Lecteurs et supports vidéo
- Lecture aléatoire VLC - Forum Lecteurs et supports vidéo
1er point :
Ta fonction code() renvoie un entier entre 0 et 4 (non compris).
Comme tu l'as signalé, le problème est que rien ne te garantie d'avoir un chiffre différent à chaque appel.
Pour cela, il faut t'y prendre différemment. Tu crées un tableau d'entier que tu mélanges. Par exemple {0,1,2,3}. Après mélange : {2,1,0,3}.
Ensuite, tu lis les différentes valeurs du tableau : 2, 1, 0 et enfin 3. Toutes ces valeurs sont différentes.
2ème point :
Le programme que tu fais semble afficher ta chaîne tab dans le désordre. Donc, autant mélanger la chaîne.