Problème avec "randomize" sous C
seb
-
seb -
seb -
Hello tout le monde! Je débute la prog en C, et là je suis un peu paumé...
Je suis en train d'écrire un petit prog qui simule un dé: classique. Je compile avec lccWin32, et je rencontre un gros problème avec la fonction "randomize".
En effet le compilateur ne reconnait pas cette "fonction"; j'ai pourtant chargé "stdlib" mais çà ne fonctionne pas.
J'avais déjà rencontré des problèmes avec la fonction "random". Le cours que j'utilise préconise l'emploi de cette fonction, mais j'ai trouvé une alternative avec rand...
Mais le problème c'est que je n'arrive pas à trouver un substitut à cette fonction randomize: donc à chaque fois que je lance l'executable, mon dé virtuel me donne toujours le même chiffre...alors si suelqu'un aurait une idée....merci énormément d'avance!!!
Je suis en train d'écrire un petit prog qui simule un dé: classique. Je compile avec lccWin32, et je rencontre un gros problème avec la fonction "randomize".
En effet le compilateur ne reconnait pas cette "fonction"; j'ai pourtant chargé "stdlib" mais çà ne fonctionne pas.
J'avais déjà rencontré des problèmes avec la fonction "random". Le cours que j'utilise préconise l'emploi de cette fonction, mais j'ai trouvé une alternative avec rand...
Mais le problème c'est que je n'arrive pas à trouver un substitut à cette fonction randomize: donc à chaque fois que je lance l'executable, mon dé virtuel me donne toujours le même chiffre...alors si suelqu'un aurait une idée....merci énormément d'avance!!!
10 réponses
Salut,
Je pense que tu dois faire
pour le randomize.
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Je pense que tu dois faire
#include <time.h>
pour le randomize.
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
tu trouvera ta fonction dans time.h je crois
sinon, ya mieu encore pour les nombres aleatoires par exemple avec GetTickCount et srand tu peux donner un nombre aleatoire compris entre 2 nombres avec le modulus %
exemple :
#include "time.h"
void main()
{
int a;
srand(GetTickCount ());
a=rand()%30;
printf(" %d",a);
}
ce code va donner un nombre aleatoire a a entre 1 et 30
random() et randomize(), c'est spécifique à C++ Builder, même si c'est dans les fichiers d'includes standard. Evite de les utiliser
Borland a tendance à "inventer" des fonctions "standards", comme gotoxy(), clrscr(), textcolor(), textbackground(), setcursortype(), wherex(), wherey().
COIN!
sinon, ya mieu encore pour les nombres aleatoires par exemple avec GetTickCount et srand tu peux donner un nombre aleatoire compris entre 2 nombres avec le modulus %
exemple :
#include "time.h"
void main()
{
int a;
srand(GetTickCount ());
a=rand()%30;
printf(" %d",a);
}
ce code va donner un nombre aleatoire a a entre 1 et 30
random() et randomize(), c'est spécifique à C++ Builder, même si c'est dans les fichiers d'includes standard. Evite de les utiliser
Borland a tendance à "inventer" des fonctions "standards", comme gotoxy(), clrscr(), textcolor(), textbackground(), setcursortype(), wherex(), wherey().
COIN!
Hello Michael!
Je viens de regarder dans time.h, mais elle ne contient pas randomize...
Tiens voilà un bout du code...
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nbr_alea; //varaible du nbr aléatoire
int u; //variable utilisateur
randomize();
clrscr();
nbr_alea = rand () % 10 +1;
printf("%d\n", nbr_alea);
printf("Essayer de trouver le nbr mystere!!!\nSaisissez un chiffre entre 1 et 10:\n");
return (0);
}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Voili Voilou... au moment de compiler, il mets la chose suivante:
undefined reference to _randomize
Je viens de regarder dans time.h, mais elle ne contient pas randomize...
Tiens voilà un bout du code...
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int nbr_alea; //varaible du nbr aléatoire
int u; //variable utilisateur
randomize();
clrscr();
nbr_alea = rand () % 10 +1;
printf("%d\n", nbr_alea);
printf("Essayer de trouver le nbr mystere!!!\nSaisissez un chiffre entre 1 et 10:\n");
return (0);
}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Voili Voilou... au moment de compiler, il mets la chose suivante:
undefined reference to _randomize
Merci Canard!!! J'avais poster à la va-vite!!!! Cà marche maintenant!
Si tu savais le temps que j'ai passer à essayer de bidouiller une pseudo solution pour contourner le problème. Merci enocre!!! Coin coin à toi!!!!
Si tu savais le temps que j'ai passer à essayer de bidouiller une pseudo solution pour contourner le problème. Merci enocre!!! Coin coin à toi!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut!
vous voulez du C portable ANSI ISO de chez time.h ?
voilà comment échaper à randomize
trouvé dans les exemples de C++ Builder ;-)
a+
¤
vous voulez du C portable ANSI ISO de chez time.h ?
voilà comment échaper à randomize
#include <stdlib.h> #include <stdio.h> #include <time.h> int main(void) { int i; time_t t; srand((unsigned) time(&t)); printf("10 nombres aleatoires de 0 à 99\n\n"); for(i=0; i<10; i++) printf("%d\n", rand() % 100); return 0; }
trouvé dans les exemples de C++ Builder ;-)
a+
¤
lol !! random() : spécificité Borland. randomize() : spécificité Borland. rand() : c'est du bon ANSI !
Comme quoi...
BOOM !
Onde2Choc, pour ne pas vous servir...
Comme quoi...
BOOM !
Onde2Choc, pour ne pas vous servir...
Merci pour vos réponses et vos éclairages sur la chose...
Canard a dit:
srand(GetTickCount ());
a=rand()%30;
printf(" %d",a);
}
ce code va donner un nombre aleatoire a a entre 1 et 30
Comment fais tu pour déterminer les deux bornes??? Par ex un nrb aléatoire entre 15 et 27?
Canard a dit:
srand(GetTickCount ());
a=rand()%30;
printf(" %d",a);
}
ce code va donner un nombre aleatoire a a entre 1 et 30
Comment fais tu pour déterminer les deux bornes??? Par ex un nrb aléatoire entre 15 et 27?