[C] Nombre aléatoires
Fermé
Niklas
-
24 mai 2006 à 08:48
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 26 mai 2006 à 09:54
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 26 mai 2006 à 09:54
A voir également:
- [C] Nombre aléatoires
- Nombre facile - Télécharger - Outils professionnels
- Nombre de combinaison possible avec 4 chiffres - Forum Programmation
- Gto nombre episode ✓ - Forum Cinéma / Télé
- Nombre de secteurs réalloués - Forum Matériel & Système
- GTO saison 2 ? - Forum Cinéma / Télé
2 réponses
kurushi
Messages postés
16
Date d'inscription
jeudi 25 mai 2006
Statut
Membre
Dernière intervention
5 mars 2007
20
26 mai 2006 à 00:43
26 mai 2006 à 00:43
Bonsoir niklas!
je viens t'apporter ta solution!!!!!
j'ai développé une fonction répondant à tes besoins!
Cependant, on pourait l'améliorer comme la paramétrer avec le nombre de valeurs voulues et l'espace de génération aléatoire...
mais je te l'ai codée en brut avec le main qui va avec. La voici (testée sous dos avec builder c++ 5.02 mais compatible tout bon ide de c respectant la norme ANSI) :
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
char * randomize3numbers(void)
{
char buffer[11];
char tmp1[3];
char tmp2[3];
char tmp3[3];
int number = 0;
int numValeur = 1;
bool chaineOk = false;
while(!chaineOk)
{
switch(numValeur)
{
case 1:
randomize();
number = rand() % 101;/*valeur entre 0 et 100*/
itoa(number,tmp1,10);
printf("number1 = %d",number);
strcpy(buffer,tmp1);
strcat(buffer,",");
numValeur++;
break;
case 2:
number = rand() % 101;
itoa(number,tmp2,10);
printf("number2 = %d",number);
strcat(buffer,tmp2);
strcat(buffer,",");
numValeur++;
break;
case 3:
number = rand() % 101;/*valeur entre 0 et 100*/
itoa(number,tmp3,10);
printf("number3 = %d",number);
strcat(buffer,tmp3);
strcat(buffer,"\0");
chaineOk = true;
break;
}/* fin switch */
}/* fin de ton test si chaine constituée */
return buffer;
} /* fin de ta fonction */
/* ton test :) */
int main(void)
{
char machaine[11];
char * chaine_recue = randomize3numbers();
strcpy(machaine,chaine_recue);
printf("ma chaine est : %s",machaine);
free(chaine_recue);
getch();
return 0;
}
je viens t'apporter ta solution!!!!!
j'ai développé une fonction répondant à tes besoins!
Cependant, on pourait l'améliorer comme la paramétrer avec le nombre de valeurs voulues et l'espace de génération aléatoire...
mais je te l'ai codée en brut avec le main qui va avec. La voici (testée sous dos avec builder c++ 5.02 mais compatible tout bon ide de c respectant la norme ANSI) :
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
char * randomize3numbers(void)
{
char buffer[11];
char tmp1[3];
char tmp2[3];
char tmp3[3];
int number = 0;
int numValeur = 1;
bool chaineOk = false;
while(!chaineOk)
{
switch(numValeur)
{
case 1:
randomize();
number = rand() % 101;/*valeur entre 0 et 100*/
itoa(number,tmp1,10);
printf("number1 = %d",number);
strcpy(buffer,tmp1);
strcat(buffer,",");
numValeur++;
break;
case 2:
number = rand() % 101;
itoa(number,tmp2,10);
printf("number2 = %d",number);
strcat(buffer,tmp2);
strcat(buffer,",");
numValeur++;
break;
case 3:
number = rand() % 101;/*valeur entre 0 et 100*/
itoa(number,tmp3,10);
printf("number3 = %d",number);
strcat(buffer,tmp3);
strcat(buffer,"\0");
chaineOk = true;
break;
}/* fin switch */
}/* fin de ton test si chaine constituée */
return buffer;
} /* fin de ta fonction */
/* ton test :) */
int main(void)
{
char machaine[11];
char * chaine_recue = randomize3numbers();
strcpy(machaine,chaine_recue);
printf("ma chaine est : %s",machaine);
free(chaine_recue);
getch();
return 0;
}
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
26 mai 2006 à 08:08
26 mai 2006 à 08:08
Salut,
Regarde là aussi : https://forums.commentcamarche.net/forum/affich-2247666-c-tirage-aleatoire#3
;-))
Regarde là aussi : https://forums.commentcamarche.net/forum/affich-2247666-c-tirage-aleatoire#3
;-))
kurushi
Messages postés
16
Date d'inscription
jeudi 25 mai 2006
Statut
Membre
Dernière intervention
5 mars 2007
20
26 mai 2006 à 09:33
26 mai 2006 à 09:33
Bonjour Jipicy,
Sans vouloir vous contredire,l'exemple que vous fournissez, n'est il pas quelque peu "juste"?
Et puis fournir la structure et le code encapsulé dans une fonction peut faciliter la compréhension...
Il ne s'agit pas du tout d'une offense, Jipicy, soyez en sur mais d'une remarque toute basique...
Respectueusement à Niklas & Jipicy, kurushi
Sans vouloir vous contredire,l'exemple que vous fournissez, n'est il pas quelque peu "juste"?
Et puis fournir la structure et le code encapsulé dans une fonction peut faciliter la compréhension...
Il ne s'agit pas du tout d'une offense, Jipicy, soyez en sur mais d'une remarque toute basique...
Respectueusement à Niklas & Jipicy, kurushi
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
>
kurushi
Messages postés
16
Date d'inscription
jeudi 25 mai 2006
Statut
Membre
Dernière intervention
5 mars 2007
26 mai 2006 à 09:54
26 mai 2006 à 09:54
Salut kurushi,
Pas d'offense, loin de là même ;-))
Je ne faisais juste que donner un lien vers un problème similaire. A notre ami Niklas de faire son choix parmi celle qui lui apportera le plus de satisfaction.
Je n'y connais rien en "langage C" et je ne doute pas un seul instant que ta proposition est de loin la plus instructive et la plus adéquate...
Bonne journée ;-))
Pas d'offense, loin de là même ;-))
Je ne faisais juste que donner un lien vers un problème similaire. A notre ami Niklas de faire son choix parmi celle qui lui apportera le plus de satisfaction.
Je n'y connais rien en "langage C" et je ne doute pas un seul instant que ta proposition est de loin la plus instructive et la plus adéquate...
Bonne journée ;-))