CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Random en c

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 21:31:50

Je veux faire un programme tout con en C qui lancerait un Dé à dix faces.
Je sais qu´au début je dois inslure la bibliothèque stdlib mais quelle est la fonction?

Merci

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 21:57:06

voila ce que je fait

  1. include < stdio.h>
  2. include < stdlib.h>

void lancer(a)
{
a=rand(10);
printf("%d", rand());
}

int main()
{
int a;
lancer(a);
return(0)
}

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 21:59:39

j´ai remplacé
a=rand(10);
par
a=rand()%10;

petitpetro
petitpetro
Niveau 7
26 juin 2005 à 22:12:39
  1. include < cstdio>
  2. include < cstdlib>

srand ( time ( NULL ) ) ;

void lancer()
{
int a = 0;
a=rand()%10 + 1;
printf("%d", a);
}

int main()
{
lancer();
return 0;
}

Chaos_Clad
Chaos_Clad
Niveau 10
26 juin 2005 à 22:14:42

Premièrement je ne crois pas que a sera reconnu dans lancer(a) puisqu´il est défini localement dans main, et donc hors de portée pour cette fonction.
Ensuite tu dois initialiser rand() avec srand(), moi je fais comme ça ( je sais pas faire autrement :rire: ) : srand(time(0));

Et tu as bien fait de remplacer puisque rand(), à ma connaissance, ne prend pas d´argument.

Chaos_Clad
Chaos_Clad
Niveau 10
26 juin 2005 à 22:15:15

Arf trop lent ^^

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 22:22:09

Merci mais à quoi sert srand ( time ( NULL ) ) ;

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 22:26:50

il me génère toujours 7 lol

lag-it
lag-it
Niveau 10
26 juin 2005 à 22:28:49

rand n´a d´aléatoire que le nom, il s´agit en réalité d´une liste d´éléments finis préécrite, composée d´éléments différents pour simuler un truc aléatoire.

La fonction srand permet de fixer le début de la liste utilisé par ton programme, permettant ainsi de ne pas commencer toujours au même endroit, c´est pour cela que lorsque tu omets d´écrire srand, tu obtiens les mêmes valeur à chaque fois.
Un exemple : si ta liste est :

1,6,98465,51,674,1258,...

Tu peux grâce à srand, dire à ton ordi que la liste commence à 674 pour l´exécution de ce programme.

Quand à time(NULL) qui renvoie la date en milliseconde, cela sert à obtnir une valeur pour srand, en l´occurence la date courante...

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 22:37:49
  1. include < stdio.h>
  2. include < stdlib.h>

srand ( time ( NULL ) ) ;

void lancer()
{
int a = 0;
a=rand()%10;
printf("%d", a);
}

int main()
{
lancer();
return 0;
}

Je suis ok avec tout ce qui est au dessus sauf avec srand ( time ( NULL ) ) ;

Je vois pas l´intéret dans ce programme.
Ce qu´i me faudrait moi c´est juste qu´il génère un nombre aléatoire entre 1 et 10.
si je met srand(time(1)); ca veut donc dire qu´il commence à 1 mais je comprend pas l´histoire d ela liste.
Merci

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 22:39:48

Normalement ca devrait marcher si je tape ca

  1. include < stdio.h>
  2. include < stdlib.h>

srand ( time(1));

void lancer()
{
int a = 0;
a=rand()%10;
printf("%d", a);
}

int main()
{
lancer();
return 0;
}

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 22:40:20

euh time 0

petitpetro
petitpetro
Niveau 7
26 juin 2005 à 22:48:57

Avec ce code tu auras plus de problème

  1. include < stdio.h>
  2. include < stdlib.h>
  3. include < time.h> / /pour time ( 0 )

void lancer()
{
int a = 0;
a=rand()%10;
printf("%d\n", a);
}

int main()
{
srand ( time(0));
lancer();
system ( " pause" ) ; / /appuyez sur une touche
return 0;
}

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 22:52:05

Merci, mais moi jé debute donc j´essaie de comprendre avec les trucs les plus simples.
Merci quand meme.
SI quelqun pourrait expliquer srand ( time ( NULL ) ) ;

Chaos_Clad
Chaos_Clad
Niveau 10
26 juin 2005 à 23:01:07

srand(time(NULL)); = srand(time(0));

petitpetro
petitpetro
Niveau 7
26 juin 2005 à 23:06:37

srand(time(0)) ou srand(time(NULL)) ( meme chose ) permettent de génerer un nombre aléatoire avec la fonction rand() et donc ne pas tomber toujours sur le meme nombre

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 23:09:01

oki merci ca m´eclaircir
J´ai un ptit problème à la compilation, il me dit parse error before ´(´ token

Chaos_Clad
Chaos_Clad
Niveau 10
26 juin 2005 à 23:10:37

Ca veut dire que tu as une erreur avant le caractères " (", regarde la ligne et regarde avant ^^
Sinon colle la source ici.

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 23:10:38

A la ligne ou j´ai écris srand(time(0));

gnooooome
gnooooome
Niveau 9
26 juin 2005 à 23:12:48
  1. include < stdio.h>
  2. include < stdlib.h>

srand(time(0));

void lancer()
{
int a;
a=rand() % 10+1;
printf("%d",a);
printf("\n");
}

int main()
{
lancer();
return(0);

}

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment