Bonjour, j'ai un sacré probleme dans mon programme

voila, lorsque je compile le programme y'a pas d'erreures mais dés que je l'excute le programme s'arrete y' une fenêtre qui apparait marqué dessus
unhandled exception in norme.exe 0*c0000005 : Acces violation

voici mon main
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
 
int l,m, Nbrpoints;
 
double alphaT;
point p(0,0,0);
cout<<"donner le nombre de points"<<endl;
cin>>Nbrpoints;
 
int *dim=&Nbrpoints;
point *a= new point[*dim];
vecteur *r= new vecteur [*dim];
double *sgn= new double [*dim];
double *alpha= new double [*dim];
vecteur **s;
	s = new vecteur*[*dim];
	for(l=1;l<=*dim;l++) 
	{
       *s= new vecteur[l];
	}
 
vecteur **N;
 
N = new vecteur*[*dim];
	for(l=1;l<=*dim;l++) 
	{
       *N= new vecteur[l];
	}
 
 
for (l=1;l<=Nbrpoints;l++)
{
	a[l].saisirpoint();
 
}
 
 
for (l=1;l<=Nbrpoints;l++)
{
 
r[l].setx(p.getx()-a[l].getx());
r[l].sety(p.gety()-a[l].gety());
r[l].setz(p.getz()-a[l].getz());
 
cout<<"r[l].getx() = "<<r[l].getx()<<endl;
cout<<"r[l].gety() = "<<r[l].gety()<<endl;
cout<<"r[l].getz() = "<<r[l].getz()<<endl;
 
}
 
 
 
for (l=1;l<=Nbrpoints;l++)
{
  // s[l][1].setx(r[l].getx()-r[1].getx());
 
 
 
for (m=1;m<=Nbrpoints;m++)
   {
 
	double azery =r[l].getx()-r[m].getx(); 
	//s[l][m].saisir(r[l].getx()-r[m].getx(),r[l].gety()-r[m].gety(),r[l].getz()-r[m].getz());
	   s[l][m].setx(r[l].getx()-r[m].getx());  
	    s[l][m].sety(r[l].gety()-r[m].gety());
		s[l][m].setz(r[l].getz()-r[m].getz());
 
    N[l][m]=N[l][m].normale(p,a[l],a[m]);
 
   }
}
 
 
 
for(l=2;l<*dim;l++)
{
	 sgn[1]= acos(N[3][1].prodscal(N[1][2]));
	 sgn[l]=acos(N[l-1][l].prodscal(N[l][l+1]));
     sgn[l+1]= acos(N[l+1][1].prodscal(N[l+1][1]));
     if (sgn[l]>0) sgn[l]*= -1;
}
 
 
for(l=1;l<=*dim;l++)
{
 
	 alpha[l]=3.151516+sgn[l];
     alphaT += alpha[l];
 
 
}
 
  alphaT= alphaT - (Nbrpoints-2)*3.141516;
 
  double phi= alphaT/(4*3.141516);
  cout<<"alpha ="<<alpha<<endl;
  cout<<"phi ="<<phi<<endl;