Rand(void) ç sert à koi??

Fermé
Hanan - 25 janv. 2011 à 15:37
 Hanan - 25 janv. 2011 à 16:56
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 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 144
25 janv. 2011 à 15:43
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
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 3245 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 658
Modifié par Pacorabanix le 25/01/2011 à 16:09
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 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 144
25 janv. 2011 à 16:10
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
@chico200987:l'exercice écrit comme ça !!,d'aprés ce que j'ai compris je pense que c'est le 1ére énoncé..
0
@ Pacorabanix :j'ai compris pas bien :s...
0