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 39410 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 3 janvier 2025 - 27 avril 2008 à 21:25
choubaka Messages postés 39410 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 3 janvier 2025 - 27 avril 2008 à 21:25
A voir également:
- Tirage aleatoire sans remise
- Remise a zero pc - Guide
- Logiciel remise à zéro compteur imprimante epson gratuit - Forum Imprimante
- Delai paiement le bon coin remise en main propre - Forum Vos droits sur internet
- Remise a zero chromecast - Guide
- Désactiver remise en main propre leboncoin - Forum Vos droits sur internet
4 réponses
choubaka
Messages postés
39410
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
3 janvier 2025
2 104
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
39410
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
3 janvier 2025
2 104
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;
}