void main()
{
int i;
int de1;
int de2;
int somme;
int [] frequence;
// Résultat possible pour la somme:
// le plus petit possible 1 + 1 = 2
// le plus grand possible 6 + 6 = 12
// donc 12 - 2 + 1 = 11 valeurs possibles: 2,3,4,5,6,7,8,9,10,11,12
frequence = new int[11];
// Attention, le problème c'est encore dans les indices des cases du tableau.
// On veut un tableau frequence, dont la case:
// 0 contient le nombre de fois où la somme est 2
// 1 contient le nombre de fois où la somme est 3
// 2 contient le nombre de fois où la somme est 4
// ...
// 10 contient le nombre de fois où la somme est 12
// Idée: la somme est tjs entre 2 et 12, donc si on retire 2 à la somme on a tjs un
// nombre entre 0 et 10 => parfait on peut l'utiliser comme un indice du tableau!
for(i=1; i<=100; i++)
{
// random(1,7) tire un nombre entre 1 et 7-1 = 6
// je tire le premier de
de1 = random(1,7);
// je tire le deuxieme de
de2 = random(1,7);
// je fais la somme
somme = de1 + de2;
// j'augmente de un la valeur contenue dans la case d'indice somme-2 du tableau
frequence[somme-2]++;
}
// Affichage du tableau
for(i=0; i<10; i++)
{
// Astuce: cette fois on rajoute 2 à i pour afficher la valeur correcte de la somme,
// par contre on utilise i directement pour accéder aux cases du tableau.
println("La somme " + (i+2) + " est apparue " + frequence[i] + " fois.");
}
}
Comments