begin process at 2012 05 29 11:47:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

fonstion random


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

fonstion random

mercredi 13 juillet 2005 à 22:27:57 | fonstion random

Teclis01

Voilà j'aimerais faire une fonction random qui renvoies 3 variables:
1 long
2 short

Ces 3 variables de types different seront calculé de facon aléatoire dans cette fonction.
Le probleme c'est que je ne su pas sur  que la valeur le la fonction rand() prenne une valeure de 16 ou 32 bits suivant le type.
De plus pour retourner plusieurs valeurs comment fait on? faut il passer par plusieurs fonctions en retournant une ?
Qqun pourrait m'eclairer ?
Voici mon code:(je sais il n'y a aucun return et rien n'est tres droit mais bon c'est un premier jet et je veux pas perseverer dans la betise)
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main(void)

{

long llong =0;
short skey1,skey2 =0;
   /*Pour que la clef soit dynamique avec le temps*/
   srand( (unsigned)time( NULL ) );
  llong= rand();
     skey1= rand();
  skey2= rand();
  return llong,skey1,skey2;
}

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

mercredi 13 juillet 2005 à 22:52:19 | Re : fonstion random

vecchio56

Administrateur CodeS-SourceS
J'ai rien compris à ton problème. Juste, pour renvoyer 'plusieurs' valeurs, tu renvoies une structure. Si tu peux expliquer un peu plus ce que tu veux faire...
jeudi 14 juillet 2005 à 00:30:44 | Re : fonstion random

Joky

Membre Club
Renvoyé une structure ou passé comme paramètres 3 adresses
Ce qu'il veut en gros c'est faire un random sur 3 variables
avec des types différents...

void Aurevoir( void ); //Bonne journée

jeudi 14 juillet 2005 à 08:09:28 | Re : fonstion random

Teclis01

En fait je cherches a faire un fonction qui renvois 3 variables calculées aléatoirements.
Ces 3 variables sont de 2 types:
2 variables de type short
1 variable de type long
Ces variables ettant de type different, suffit il d'ecrire par exemple

long lvar;
short svar1,svar2;

lvar = rand();
svar1= rand();
svar2= rand();

Pour que chaque fonction random "mette" dans la variable associé une valeur qui tient dans son type
a savoir:
16 b pour un short
32 b pour un long

J'ai aussi une nouvelle qst ... Quand vous dites une structure en fait il faut faire un typedef struct ? ou est ce autre chose ?
Merci de votre patience avec un noobie :O)
Teclis

-------------------------------------------------------------------------------------------------------
          Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

jeudi 14 juillet 2005 à 10:20:42 | Re : fonstion random

vecchio56

Administrateur CodeS-SourceS
Oui: typedef struct _rand_struct { long lvar; short svar1,svar2; } rand_struct; void fillStruct(rand_struct* prs) { prs->lvar = rand(); prs->svar1 = (short)rand(); prs->svar2 = (short)rand(); } Le problème c'est que rand donne des nombre entre 0 et 0x7fff. Le bit de poids fort de svar1 et svar2 sera donc toujours à 0. Et lvar sera toujours inférieur à cette valeur. Si tu veux que tes variables puissent prendre toutes les valeurs possibles void fillStruct(rand_struct* prs) { prs->lvar = (rand() << 17) | (rand() << 2) | (rand & 0xFF); prs->svar1 = (short)rand() << 1 | (rand() & 1); prs->svar2 = (short)rand() << 1 | (rand() & 1); } Les masques 0xFF et 1 ne sont pas nécessaires Ce code suppose que RAND_MAX vaut 0x7fff, regarde si c'est aussi cette valeur chez toi, je sais pas si ca peut varier Pour utiliser la fonction: int main() { srand(time(0)); rand_struct rs; fillStruct(&rs); }


Cette discussion est classée dans : fonction, include, rand, random, llong


Répondre à ce message

Sujets en rapport avec ce message

prob. compilateur c++ [ par error ] salut a tous je debute dans la programmation en c++ j'ai po mal de livres mais dans mes livre il ya la fonction #include j'ai un prob mon compilateur Ca veut pas s'afficher !!! [ par Nini ] Bon alors voilà le probleme : je doit faire afficher une phrase aléatoirement avec un switch et un rand mais elle veut pas s'afficher. Voilà ma source fonction random en C [ par gemini010 ] slt a tous,je suis newbies en programation et un amis m'a demande de lui faire un programme pour un tirage au sort pour un tournois de foot... qqun s probleme d'include [ par titus0m ] bonjour,je develop sous kdev sous linux.mon probleme est un conflit entre deux include qui possede une fonction qui se nomme pareil. C'est la fonction random [ par petronius ] quelqu'un connaitrait il un random un peu moins pourri que srand ?dans le man d'unix il y a marqué "rand, srand, rand_r - bad random number generator" Urgent : Pb include windows 98 [ par krovomite ] Bonjour je voudrais savoir quel doit etre l'include a mettre sous vc++, pour windows 98, concernant la fonction CopyFile,car sous win2K, la fonction c Nombre aléatoire en C [ par FoLKeN91 ] Bonjour tout le monde.Alors voici mon probleme, j'ai beau cherché je n'arrive pas à le résoudre. Je désire faire une fonction qui renvoie un nombre al [DEBUTANT] Fonction rand () [ par kojiro2 ] G un problème avec la fonction rand dans un pti jeuke je suis en train de faire.Je veux générer un nombre aléatoire (jusque là pas de pb).Ce nombre al strcat() ???? [ par supergrey ] Salut tout le monde, jai un petit probleme avec la fonction strcat() , je commence a peine un programme que deja je bloque la dessus jaimerai de l'aid probleme avec randomize [ par darmoor ] salut je debute en C et jai ecrit un tout petit truc pour aprendre et je trouve que la compilation ne marche pas alors que dapres le cour il devrai! v


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales