Nombre aleatoire entre deux valeurs

Soyez le premier à donner votre avis sur cette source.

Vue 6 486 fois - Téléchargée 203 fois

Description

Une fonction qui retourne un nombre aleatoire en deux valeurs

Source / Exemple :


#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>

int RandomBetween(int a,int b)
{
return a + (random(a - b + 1));
}

int main(void)
{
int i;

randomize();

for(i=0;i<20;i++)
	{
	int a,b;

	a = RandomBetween(-99,99);
	b = RandomBetween(-99,99);

	/* on doit avoir a < b  */
	if(a > b)
		{
		/* on echange les valeurs */
		int tmp;

		tmp	= a;
		a	 = b;
		b		= tmp;
		}

	printf("RandomBetween(%d,%d) = %d\n",a,b,RandomBetween(a,b));
	}

printf("Appuyer sur une touche pour quitter le programme ...\n");
getch();
return 0;
}

Conclusion :


REMARQUE :
le faite de changer a et b car a doit etre inferieur à b.
ceci est preferable en fait de la mettre dans la fonction elle-meme !
ici je l'ai mise dans le main car lorsque l'on affiche a l'ecran il est plus visible de mettre dans l'ordre directement.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

NW4O
Messages postés
8
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
24 février 2004
-
Pas superla fonction dans le mesure ou Random n'est pas standard et c'est une fonction Borland je crois (pas sur).
T'aurais du utiliser srand(time(NULL)) ; pour initialiser le générateur, puis rand() pour générer le nb aléatoire !

NW
cs_JCDjcd
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
2 -
Non, en Visual C
elle existe aussi !
srand(time(NULL)); est equivalent a randomize();
Le_Ronan
Messages postés
3
Date d'inscription
dimanche 28 novembre 2004
Statut
Membre
Dernière intervention
26 juin 2007
-
(?) Ne pourrait-on pas écrire :


/* on doit avoir a < b */
if(a > b)

printf("RandomBetween(%d,%d) = %d\n",b,a,RandomBetween(b,a))

else
printf("RandomBetween(%d,%d) = %d\n",a,b,RandomBetween(a,b));


J'attends vos remarques...

Merci.
fred100582
Messages postés
37
Date d'inscription
mardi 20 avril 2004
Statut
Membre
Dernière intervention
6 décembre 2005
-
Est-ce que qq'un sait s'il serait possible d'appliquer un masque dans ce programme car je travaille sur un prog assez gourmand en ressources et j'ai peur que l'accumulation de random ne le fasse vraiment ramer?

Merci.
jsabrina
Messages postés
4
Date d'inscription
mercredi 25 janvier 2006
Statut
Membre
Dernière intervention
6 mai 2006
-
Bonjour;
j'aimerais savoir comment choisir un nombre aléatoirement dans un interval fixe......Merci de me répondre c'est trés urgent..

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.