Tirage aleatoire sans remise
Fermé
mahouda
Messages postés
31
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
11 mai 2009
-
26 avril 2008 à 08:50
choubaka Messages postés 39367 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 12 mars 2024 - 27 avril 2008 à 21:25
choubaka Messages postés 39367 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 12 mars 2024 - 27 avril 2008 à 21:25
A voir également:
- Tirage aleatoire sans remise
- Remise a zero pc - Guide
- Remise à zéro iphone - Guide
- Logiciel remise à zéro compteur imprimante epson gratuit - Forum Imprimante
- Remise a zero chromecast - Guide
- Vlc lecture aléatoire - Forum Téléphones & tablettes Android
4 réponses
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
2 100
26 avril 2008 à 09:08
26 avril 2008 à 09:08
salut
une solution serait de stocker les lettres au fur et à mesure dans une structure de données (un arraylist par exemple) et lors de la désignation des autres lettres contrôler dans cette structure si elle n'y est pas déjà présente. si c'est le cas, il faut recommencer la recherche aléatoire jusqu'à ce que se soit correct.
J'espère avoir été clair.
donc en gros l'algo donnerait ceci
1. Désignation aléatoire de la première lettre
2. stockage dans l'arraylist
3. désignation de la lettre suivante
4. contrôle de l'arraylist
5. si contrôle ok, retour au point 2
6. si pas ok, retour au point 3
voilà
une solution serait de stocker les lettres au fur et à mesure dans une structure de données (un arraylist par exemple) et lors de la désignation des autres lettres contrôler dans cette structure si elle n'y est pas déjà présente. si c'est le cas, il faut recommencer la recherche aléatoire jusqu'à ce que se soit correct.
J'espère avoir été clair.
donc en gros l'algo donnerait ceci
1. Désignation aléatoire de la première lettre
2. stockage dans l'arraylist
3. désignation de la lettre suivante
4. contrôle de l'arraylist
5. si contrôle ok, retour au point 2
6. si pas ok, retour au point 3
voilà
mahouda
Messages postés
31
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
11 mai 2009
27 avril 2008 à 14:27
27 avril 2008 à 14:27
bonjour,
aidez moi s'il vous plait...
aidez moi s'il vous plait...
mahouda
Messages postés
31
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
11 mai 2009
27 avril 2008 à 15:25
27 avril 2008 à 15:25
help...................................
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
2 100
27 avril 2008 à 21:25
27 avril 2008 à 21:25
quel est l'erreur?
26 avril 2008 à 09:36
merci encore une fois
27 avril 2008 à 01:41
voici ce que j'ai trouvé mais il n'a pas bien fonctionné;
#include <time.h>
#include <stdlib.h>
#include<stdio.h>
int tirageAleatoire(void)
{
int entier ;
srand (time (NULL));
entier=1+rand() % 5;
return (entier);
}
void affichage(int entier)
{
char son[4];
switch(entier)
{
case 1:
son[0]='m'; son[1]='a';son[2]='\0';break;
case 2:
son[0]='t';son[1]='a';son[2]='\0';break;
case 3:
son[0]='r';son[1]='a';son[2]='\0';break;
case 4:
son[0]='b';son[1]='o';son[2]='n';son[3]='\0';break;
case 5:
son[0]='c';son[1]='o';son[2]='\0';break;
}
printf("le mots que vous devez chercher contient le son: %s \n",son) ;
}
int main (void)
{
char son[4];
int entier;
int *p=NULL;
int i=1;int j=1;
p=(int *) malloc(sizeof(int));
entier=tirageAleatoire();
affichage(entier);
p[i]=entier;
do{
do{
entier=tirageAleatoire();
}while(p[i]==entier);
affichage(entier);
i=i+1;
p[i]=entier;
}while(i<=5);
system("pause");
return 0;
}