1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
| #include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define NB_FEMMES 1000
#define ECHANTILLON 200
#define TIRAGE 50
/* Definition des types de femmes */
enum
{
PAS_ENFANT = 0,
UN_ENFANT = 1,
DEUX_ENFANTS = 2,
TROIS_ENFANTS = 3,
CODES_FEMMES
};
static void affichagetab (int nb, int tab[])
{
int i;
for (i = 0; i < nb; i++)
printf ("%i ", tab[i]);
}
static float SommePropfemmes_0 (float PROP0[], float tailletableau)
{
float SumPROPfemmes_0 = 0;
int i;
for (i = 0; i < tailletableau; i++)
{
SumPROPfemmes_0 = SumPROPfemmes_0 + PROP0[i];
}
return SumPROPfemmes_0;
}
static float SommeCARREPropfemmes_0 (float carrePROP0[], float tailletableau)
{
float SumCARREPROPfemmes_0 = 0;
int i;
for (i = 0; i < tailletableau; i++)
{
SumCARREPROPfemmes_0 = SumCARREPROPfemmes_0 + carrePROP0[i];
}
return SumCARREPROPfemmes_0;
}
int main (void)
{
int i = 0, j = 0, k = 0, n = 0, o = 0;
enum
{ NB_FEMMES2 = TIRAGE * ECHANTILLON };
int hasard;
int T1F[NB_FEMMES] = { 0 };
int EchF2[NB_FEMMES2];
double PROPfemmes_hasard2[CODES_FEMMES];
int NBfemmes_0, PROPfemmes_0;
float PROP0[50];
float carrePROP0[50];
float SumPROPfemmes_0 = 0;
float SumCARREPROPfemmes_0 = 0;
float tailletableau = 1000;
srand (time (NULL));
/* Creation de T1F */
for (k = 0; k < 200; k++)
T1F[k] = 0;
for (k = 200; k < 500; k++)
T1F[k] = 1;
for (k = 500; k < 900; k++)
T1F[k] = 2;
for (k = 900; k < 1000; k++)
T1F[k] = 3;
/* Creation de 50 tirages aléatoires de 200 femmes dans T1F et enregistrement
dans EchF2 */
for (n = 0; n < TIRAGE * ECHANTILLON; n++)
{
for (j = 0; j < ECHANTILLON; j++)
{
hasard = (rand () % (NB_FEMMES));
if (T1F[hasard] != 999)
EchF2[n] = T1F[hasard];
o++;
T1F[hasard] = 999;
if (EchF2[hasard] == PAS_ENFANT)
NBfemmes_0++;
PROPfemmes_0 = (NBfemmes_0 / 200);
PROP0[i] = PROPfemmes_0;
carrePROP0[i] = (PROPfemmes_0 * PROPfemmes_0);
}
for (k = 0; k < 200; k++)
T1F[k] = 0;
for (k = 200; k < 500; k++)
T1F[k] = 1;
for (k = 500; k < 900; k++)
T1F[k] = 2;
for (k = 900; k < 1000; k++)
T1F[k] = 3;
}
/* ____________________________________________________________ */
/*Affichage du tableau general du tirage au sort*/
printf (" \n");
printf (" EchF2 : \n");
affichagetab (NB_FEMMES2, EchF2);
printf (" \n");
printf (" \n");
/* Affichage du tableau des 50 proportions de femmes ayant 0 enfant et calcul
de la moyenne et de la variance : */
for (i = 0; i < 50; i++)
{
printf ("%f ", PROP0[i]);
}
printf (" \n");
printf (" \n");
SumPROPfemmes_0 = SommePropfemmes_0 (PROP0, tailletableau);
printf
("La moyenne des proportions de femmes ayant 0 enfant est egale a : %f ",
SumPROPfemmes_0 / 50);
printf (" \n");
printf (" \n");
SumCARREPROPfemmes_0 = SommeCARREPropfemmes_0 (carrePROP0, tailletableau);
printf
("La variance des proportions de femmes ayant 0 enfant est egale a : %f ",
(SumCARREPROPfemmes_0 / 49) -
((SumPROPfemmes_0 / 50) * (SumPROPfemmes_0 / 50) * 50) / 49);
printf (" \n");
return 0;
} |
Partager