Rand(void) ç sert à koi??

Hanan -  
 Hanan -
Bonjour,

qlq peut m'expliquer avec un exemple simple en langage C :c'est koi rand(voide)?,pour koi on utilise cette bébliothéque??, et comment on l'utilise??

4 réponses

chico200987 Messages postés 856 Statut Membre 144
 
Salut,

RTFM copain.

http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/rand.3.html

Je cite : "La fonction rand() renvoie un entier pseudo-aléatoire entre 0 et RAND_MAX."

Pour l'exemple, la fonction recherche marche bien et tu tombes sur : https://forums.commentcamarche.net/forum/affich-68764-je-cherche-une-fonction-random-en-c-c#2 par exemple ;)
0
Hanan
 
Mmm!,pr l'exemple j'ai compris r1 :/ psk chui débutant et j'ai pas étudiée "les pointeurs "
j'ai un exercice qui demande d'écrire un programme en C qui remplit au hasard un tableau de n entiers compris 0 et 20 ,puis les affiche à l'ecran,et calculer la moyenne (on utilisant la fonction rand(voide))
j'ai écris le code sans la fonction rand (void),mais il ne fonctionne pas :(,voilà le code:

#include <stdio.h>

void main(){
int t[21];
int i,n,s,m;
printf("saisir n \n");
scanf("%d",&n);
if(n>=0 && n<=20){
s=0;
for(i=0;i<=n;i++){
printf("saisir une valeur \n"),
scanf("%d",t[i]);
s=s+t[i];
}
m=s/n;
printf("la moyenne es %d \n",m);
}
}
svp ou je doit écrire rand(void) et comment ??
0
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
 
je crois que tu as pas bien compris.

tout d'abord, arrette d'écrire rand(void) le "void" dans le nom de la fonction sert simplement à dire qu'on ne lui donne pas d'argument.

printf reçoit un argument "chaine de caractère"
printf ( "qqchose" );


rand n'en reçoit pas.
rand();



rand est une fonction , c'est-à-dire qui *renvoie* une valeur à utiliser par ton programme

Exemple :

au lieu de faire saisir tes données par l'utilisateur (avec scanf() ). tu pourrais les remplir directement dans le programme.

t[0] = 12; 
t[1] = 13; 
t[2] = 18; 
etc...


mais tu peux aussi utiliser rand, pour avoir des valeurs aléatoires et pas fixes.

t[0] = rand(); 
t[1] = rand(); 
t[2] = rand();
etc...



ici t[0] et t[1] vaudront un nombre qui est entre 0 et RANDMAX (RANDMAX est un nombre qui dépend de ton compilateur, qui vaut au minimum 32000 environ), comme déjà expliqué par chico (et par TOUS les manuels de fonctions C ... )
0
chico200987 Messages postés 856 Statut Membre 144
 
L'énoncé n'est pas clair je vois deux énoncés :

1- Tu dois taper au clavier (donc manuellement) 20 valeurs comprises entre 0 et 20 qui seront insérés aléatoirement dans ton tableau ?

OU

2- Tu dois faire une fonction qui calcul 20 valeurs aléatoires et les insère automatiquement dans ton tableau ?

Ton code montre le premier énoncé, mais ce que tu dis me laisse penser que c'est le deuxième..
0
Hanan
 
:s
0
Hanan
 
@chico200987:l'exercice écrit comme ça !!,d'aprés ce que j'ai compris je pense que c'est le 1ére énoncé..
0
Hanan
 
@ Pacorabanix :j'ai compris pas bien :s...
0