Bonjour,
Je suis un vrai débutant en C++ et là je suis entrain d'écrire un code pour simuler différentes lois de probas dont je dois récupérer les différentes valeurs dans des vecteurs. Finalement j'ai trouvé sur le net comment faire. sauf qu'à l'exécution du code j'ai une fenêtre vide. en gros ça marche pas . Aidez moi à trouver l'erreur.
Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#include <iostream>
#include <stdio.h>
#include<time.h>
#include<cstdlib>
#include<math.h>
 
 
using namespace std;
 
 
//Creation d'une fonction qui renvoie une loi uniforme sur [0,1]
double uni()
{
    return(rand()/((double)RAND_MAX+1));
}
 
// Fonction de génération géometrique généralisée
int geogen( double a,double theta){
    int k;
    int p;
    int q;
    double u;
    u=uni();
    int result;
    p=1-a*theta;
    k=1;
    q=p+a*pow(theta,k)*(1-theta);
        if(u<p){
                result=0;
        }
        else {
            while((u>q)){
                q=p+a*pow(theta,k)*(1-theta);
                p=q;
                k=k+1;
                result=k;
            }
        }
             return result;
    }
 
//Fonction de génération Pareto
int Pareto(double x,double alpha)
{
    double r;
    int result;
    r = uni();
    result = x*pow(1/(1-r),(1/alpha));
    return result;
}
 
 
//Fonction pour simuler Géométrique Généraliséé
 
int *Creation_vecteur(int n)
{
    int *vecteur;
 
    // Allocation de n pointeurs pour stocker n int
    vecteur=(int*)malloc(n * sizeof(int*));
 
    return vecteur;
}
 
int *SimulGeoGen(int n)
{
    //srand(time(NULL));
    int *vecteur;
    vecteur=Creation_vecteur(n);
 
    int i;
    for(i=0;i<n;i++)
        {
            vecteur[i]=geogen(0.51,0.98);
            //cout<<vecteur[i]<<endl;
        }
    return vecteur;
}
 
int *SimulPareto(int n)
{
    //srand(time(NULL));
    int i;
    int *vecteur;
    vecteur=Creation_vecteur(n);
 
    for (i=0;i<n;i++)
    {
        vecteur[i]=Pareto(100,2.3);
        //cout<<vecteur[i]<<endl;
    }
    return vecteur;
}
 
int main()
{
    int i;
    int *VectPareto;
    int *VectGG;
    srand(time(NULL));
    VectPareto=SimulPareto(10);
    VectGG=SimulGeoGen(10);
 
    cout<<"PARETO"<<endl;
    for (i=0;i<10;i++)
    {
    cout<<VectPareto[i]<<endl;
    }
 
    cout<<"GEOMETRIQUE GENERALISEE"<<endl;
    for (i=0;i<10;i++)
    {
    cout<<VectGG[i]<<endl;
    }
 
    for (i=1;i<20;i++)
    {
        free((int*)VectGG[i]);
    }
    free(VectGG);
 
    for (i=0;i<20;i++)
    {
        free((int*)VectPareto[i]);
    }
    free(VectPareto);
}