Générer nombre aléatoire limité
sarrasin512
Messages postés
1
Statut
Membre
-
Sims' -
Sims' -
Bonjour,
voila je voudrais générer des nombre aléatoire sur le table de 10 ,ses nombres doive se limité a 1 et 0 mais leurs nombre doit etre égale, se qui ve dire 5 numéro 1 et 5 numéro 0
merci pour touts aide je suis vraiment désespéré
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define n20
main()
{
int T[10][20];
int i,j;
for(i=0;i<=10;i++)
for(j=0;j<=20;j++)
T[i][j]=0;
srand(time(0));
for(i=0;i<=10;i++)
for(j=0;j<=20;j++)
T[i][j]=rand()%2;
for(i=0;i<=9;i++)
for(j=0;j<=18;j++)
{printf("%6d",T[i][j]);
printf(" ");
}
return 0;
}
voici le code source comme je le modifier ?
voila je voudrais générer des nombre aléatoire sur le table de 10 ,ses nombres doive se limité a 1 et 0 mais leurs nombre doit etre égale, se qui ve dire 5 numéro 1 et 5 numéro 0
merci pour touts aide je suis vraiment désespéré
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define n20
main()
{
int T[10][20];
int i,j;
for(i=0;i<=10;i++)
for(j=0;j<=20;j++)
T[i][j]=0;
srand(time(0));
for(i=0;i<=10;i++)
for(j=0;j<=20;j++)
T[i][j]=rand()%2;
for(i=0;i<=9;i++)
for(j=0;j<=18;j++)
{printf("%6d",T[i][j]);
printf(" ");
}
return 0;
}
voici le code source comme je le modifier ?
Configuration: Windows XP Firefox 3.0.4
1 réponse
-
Hello,
Voici une vague hypothèse, il faudra éventullement compter le nombre de 1 et de 0 afin de savoir lorsque tu as atteint le quota de l'un ou de l'autre pour une ligne donné.
tu pourrais avoir qqch comme :srand(time(0)); for(i=0;i<=10;i++) { int countZero = 0 ; int countUn = 0 ; for(j=0;j<=20;j++) { int randNumber = rand()%2; if (countZero == 5) //quota des 1 est atteint on met plus que des 0 { T[i][j] = 1 ; } else { if (countUn == 5) //quota des 0 est atteint on met plus que des 1 { T[i][j] = 0 ; } else { T[i][j] = randNumber ; //aucun quota n'est atteint on met le resultat du rand. //on compte le nombre de 1 ou de 0 utilié. if (randNumber==0) countZero++; else countUn++; } } } }
voilà, je ne sais pas si ça répond à 100% à ta question ou si s'est la meilleur manière de faire, ça doit fonctionner... à Tester...