[C] Problemes rand() [résolu]

Problemes rand() [résolu] [C] - C - Programmation

Marsh Posté le 05-12-2005 à 22:39:39    

salut je suis TRES debutant je suis en train de suivre des (*.pdf) et j'ai quelques probleme certaine fonction ne marche pas alors que
que la librairie est incluse voici un exemple (tt bête)(je travaile (hum..) sous DEV-C++ :
 
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
 
int nb_alea;  
                   
         clrscr ();
         randomize ();
 
 
                            nb_alea = random (101);
 
 
                                                printf ("%d",nb_alea);
 
                                                 printf ("%d",random (101));
 
 
getch ();
return 0 ;  
}

Message cité 1 fois
Message édité par magiclazy le 09-12-2005 à 19:35:41

---------------
signature du message
Reply

Marsh Posté le 05-12-2005 à 22:39:39   

Reply

Marsh Posté le 05-12-2005 à 22:51:06    

T'es sûr que t'es ingénieur informaticien ? [:petrus75]  
 
Achète un vrai bouquin sur le C, comme le K&R ou trouve un cours digne de ce nom.
 
Pour ce qui est de ton code : les fonctions auxquelles tu fais appel ne sont pas standards et je doute que Dev-C++ aille les chercher dans stdio.h et stdlib.h. Regarde les pages de manuel de rand, srand, getchar...
 
Ah et puis on dit "bibliothèque" (traduction de "library" en anglais) et non "librairie".


Message édité par Profil supprimé le 05-12-2005 à 22:53:26
Reply

Marsh Posté le 05-12-2005 à 22:53:45    

Ca ressemble à des fonctions de la lib Borland, ça.
Regarde si tu n'as pas un conio.h (ou ressemblant) qui traine dans tes répertoires.
 
Quant aux *.pdf que tu lis, abandonne-les s'ils te renvoient à ces fonctions. Utiliser des bibliothèques tierces c'est un excellent réflexe (quand on en a besoin), mais avant ça il faut savoir utiliser les fonctions standards.
 
Effectivement, le K&R (le vrai titre, c'est "Le Langage C", de Kernighan & Ritchie) est une bible.

Reply

Marsh Posté le 05-12-2005 à 22:55:20    

magiclazy a écrit :

salut je suis TRES debutant je suis en train de suivre des (*.pdf) et j'ai quelques probleme certaine fonction ne marche pas alors que
que la librairie est incluse voici un exemple (tt bête)(je travaile (hum..) sous DEV-C++ :
 
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
 
int nb_alea;  
                   
         clrscr ();
         randomize ();
 
 
                            nb_alea = random (101);
 
 
                                                printf ("%d",nb_alea);
 
                                                 printf ("%d",random (101));
 
 
getch ();
return 0 ;  
}


Pour ton code, met le d'abord entre les balise code... c'est plus lisible...
Sinon, qu'est ce que tu as comme message d'erreur?
Je pense que ça viens du random(), qui doit etre definit dans "math.h", et c'est plutot un rand() si je me rappel bien.
Et pour le clrscr() je crois qu'il faut include "conio.h"...

Reply

Marsh Posté le 05-12-2005 à 22:58:18    

Twinsens a écrit :

Je pense que ça viens du random(), qui doit etre definit dans "math.h", et c'est plutot un rand() si je me rappel bien.


 
stdlib.h [:aloy]
 
random() est une fonction standard POSIX.2, mais bon les vraies fonctions standards sont srand() (pour l'initialisation) et rand().

Reply

Marsh Posté le 06-12-2005 à 22:26:38    

salut merci pour toutes ces reponses juste une remarque je trouve que souvent vous dites que les cours des uns et des autres sont mauvais mais alors proposé (svp) un vraie alternative au K&R qui soit gratuite et complète
merci
 
 
ps:vous etes sous linux non ?;)

Message cité 2 fois
Message édité par magiclazy le 06-12-2005 à 22:27:32

---------------
signature du message
Reply

Marsh Posté le 06-12-2005 à 22:31:09    

les cours que jai pris sont ceux-ci ....
 
http://c.developpez.com/cours/


---------------
signature du message
Reply

Marsh Posté le 06-12-2005 à 23:03:31    

magiclazy a écrit :


 un vraie alternative au K&R qui soit gratuite et complète


 
je vois pas en quoi le K&R est à remplacer :o
et petiot faudra apprendre que rien n'es gratuit dans ce bas monde :o

Reply

Marsh Posté le 06-12-2005 à 23:55:38    

un K&R ça s'appelle un investissement :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 07-12-2005 à 09:20:51    

magiclazy a écrit :

sproposé (svp) un vraie alternative au K&R qui soit gratuite et complète


http://www-clips.imag.fr/commun/be [...] NSI_C.html


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-12-2005 à 09:20:51   

Reply

Marsh Posté le 07-12-2005 à 12:21:26    

désolé mais je trouve et c'est mon opinon (même si je respecte la votre) que pour un utilisateur de linux dire "je vois pas en quoi le K&R est à remplacer" c'est assez contradictoire
 
alors je vais dire un truc :"en quoi windows est à remplacer ?"
(c vrai je pense quil est a remplacer ;) quand meme)
mais c pareil il ne convient pas forcement a des certaines attente -le (K&R) par exemple ne conrespont pas à mon attente qui est de trouver des cours correctes pour une envie qui n'est pas à la hauteur d'un investissment comme le K&R
 
voilà tout ceci dit je respecte votre opinion mais un dernier mot rester ouvert vous n'êtes pas des linuxion pour rien non ? ;)


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 12:25:38    

magiclazy a écrit :

voilà tout ceci dit je respecte votre opinion mais un dernier mot rester ouvert vous n'êtes pas des linuxion pour rien non ? ;)


Gné ? J'utilise indifférremment Linux ou Windows. C'est grave ?
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-12-2005 à 12:28:13    

neni loli


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 12:28:26    

La connaissance ca se paye [:spamafote]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 07-12-2005 à 12:28:40    

magiclazy a écrit :

désolé mais je trouve et c'est mon opinon (même si je respecte la votre) que pour un utilisateur de linux dire "je vois pas en quoi le K&R est à remplacer" c'est assez contradictoire


Y a-t-il des considérations, des enseignements et des techniques fondamentalement incorrects dans le K&R? [:bistou tt]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-12-2005 à 12:29:19    

masklinn a écrit :

Y a-t-il des considérations, des enseignements et des techniques fondamentalement incorrects dans le K&R? [:bistou tt]


ouais, 30€ [:spamafote]
[edit]
 
En fait jviens de penser, essaye un C Précis&Concis ( 8.55€ ), c'est petit, un peu dense, si t'as besoin qu'on te tienne la main tu va pas aimer, mais c'est quasiment aussi fiable qu'un K&R pour les bases et ca détaille pas mal les libs. ( par contre y'a pas tout de ce qu'on trouve dans les annexes du K&R , perso l'un complète l'autre )


Message édité par 0x90 le 07-12-2005 à 12:31:58

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 07-12-2005 à 12:32:08    

....


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 12:33:42    

Reply

Marsh Posté le 07-12-2005 à 12:34:46    

Il brise les burne des gens et crache sur le K&R pour 30€? C'est une blague [:petrus dei]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 07-12-2005 à 12:36:31    

masklinn a écrit :

Il brise les burne des gens et crache sur le K&R pour 30€? C'est une blague [:petrus dei]


 
Bha s'il a pas assez d'argent de poche spa sa faute hein ...


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 07-12-2005 à 12:37:40    

oula oula je cherche pas sa du tout c'etait juste un ptit debat mais bon je crois la c finit parceque sa derape trop en tt cas derniere chose j'ai 15 ans et 30€ c assez relatif comme somme ....
en tout cas merci pour ces reponses.. @+


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 12:38:54    

magiclazy a écrit :

oula oula je cherche pas sa du tout c'etait juste un ptit debat mais bon je crois la c finit parceque sa derape trop en tt cas derniere chose j'ai 15 ans et 30€ c assez relatif comme somme ....
en tout cas merci pour ces reponses.. @+


 
Essaye le Précis&Concis , 9€ spa dramatique quand même ...


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 07-12-2005 à 18:53:21    

oupss tout sa ma fait oublier que je n'arrive pas trouver un moyen pour que cela marche (le code) jai tout le temps une erreur ou sinon je met rand () et les () vides et sa me genere un nombre de chiffre (4ou5) et je ne sais comment controler sa .. merci d'avance ..


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 18:58:06    

Shame on me !!!
 
j'avais pas precisé RAND_MAX ........
 
rrrrolll


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 21:53:50    

je n'arrive pas à obtenir une sequence de nombre differente a chaque demarrage du programme pourtant j'initialise bien avec srand(time(NULL));
je comprends pas ...
 
un ptit coup de main ??
merci d'avance


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:05:57    

je suis arrivé a quelque chose de correcte avec sa :
 
 
 
 
 
 
 
 
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
 
int main()
 
{
  srand(time(NULL));
int nb;  
nb=rand();
 do
{  
       
 
printf("%d",nb);
}
   
   
   
while(nb<50);  
                                                   
     
   
    getch ();
 
}
 
 
 
dsl pour la lisibilité mais c vite fait ..


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:08:23    

utilise la balise [cpp] ou [fixed] du forum stp.


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 07-12-2005 à 22:23:18    

magiclazy a écrit :

je suis arrivé a quelque chose de correcte avec sa :


 
Boucle infinie :o

Reply

Marsh Posté le 07-12-2005 à 22:24:08    

O et comment on l'arrête loli ?


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:24:51    

Avec une condition d'arrêt appropriée. [:klem3i1]


Message édité par Elmoricq le 07-12-2005 à 22:24:59
Reply

Marsh Posté le 07-12-2005 à 22:29:37    

merki, monsieur
"mode boulet activée"
"je leve la main"
 
Msieur jy arrive pas voici mon code et sa foire heu sa marche pô ,PK ??"
"mode MAXI boulet desactivée"
 
 
 
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
 
 
int main()
 
{
srand(time(NULL));  
 
int tirage;
tirage = rand();
 
while ((tirage<10)||(tirage>0));
{
 
printf("%d alelouïa",tirage);
}
 
getch();
 
 
 
 
return (0);
}
 
 
Tout sa pour afficher un nombre entre 0 et 10 aleatoire ...

Message cité 1 fois
Message édité par magiclazy le 07-12-2005 à 22:30:42

---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:35:57    

magiclazy a écrit :

je suis arrivé a quelque chose de correcte avec sa :
dsl pour la lisibilité mais c vite fait ..


Tu pourrais faire un effort de présentation, on est pas des chiens...


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main (void)
{
    srand ((unsigned) time (NULL));
 
    int i=0;
 
    do
    {
        int nb = rand ();
         
        printf ("%d\n", nb);
        i++;
    }
    while (i < 10);
     
   return 0;
}


Message édité par Emmanuel Delahaye le 07-12-2005 à 22:37:23

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-12-2005 à 22:38:37    

rien à dire tu as raison seulement 2 choses la premiere ben sa marche pas ..lol enfin si mais c'est pas entre 0 et 10 et la deuxieme désolé ta raison


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:38:54    

magiclazy a écrit :

merki, monsieur
"mode boulet activée"
"je leve la main"
 
Msieur jy arrive pas voici mon code et sa foire heu sa marche pô ,PK ??"
"mode MAXI boulet desactivée"


A quoi ca sert de faire une boucle si tu ne mets pas rand() dedans ?


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-12-2005 à 22:39:51    

et aussi je comprends pas ce que vient faire le i même si j'ai l'impression qu'il est très important lol


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:43:38    

HAHAH oki j'ai compris le i est la pour que au bout de 10 resultat sa s'arrete ok j'ai compris (humm!!)
mais par contre sa serait plutot pour que le nombre aleatoire sois entre 0 et 10


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:44:26    

magiclazy a écrit :

rien à dire tu as raison seulement 2 choses la premiere ben sa marche pas ..lol enfin si mais c'est pas entre 0 et 10 et la deuxieme désolé ta raison


Je n'ai fais que mettre en forme ton code et le faire tourner et s'arréter proprement. Pour un tirage entre 0 et 10. La méthode naive c'est le modulo.
 
un 'x modulo 11' retourne une valeur comprise entre 0 et 10.
 
Mais il y a des problèmes de répartitions inégale des valeurs... On préfère une solution plus mathématique :
 
http://docs.mandragor.org/files/Pr [...] .html#q_10


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-12-2005 à 22:45:56    

magiclazy a écrit :

HAHAH oki j'ai compris le i est la pour que au bout de 10 resultat sa s'arrete ok j'ai compris (humm!!)


Ben voilà, il suffit de se secouer un peu le neurone...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le 07-12-2005 à 22:47:24    

j'aime bien "le neurone"....merci  lol
 
et pour nb < 10 ??


---------------
signature du message
Reply

Marsh Posté le 07-12-2005 à 22:55:25    

magiclazy a écrit :

j'aime bien "le neurone"....merci  lol
 
et pour nb < 10 ??


soit cohérent....
 

Citation :

Tout sa pour afficher un nombre entre 0 et 10 aleatoire


Citation :

nb < 10

 
 
Alors, c'est 0 à 10 ou 0 à 9 ?


Message édité par Emmanuel Delahaye le 07-12-2005 à 22:58:12

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed