Bonjour, je veux afficher des résultats d un cos et sin en float, mais ca me fait une erreur de segmentation sous gcc et je ne comprends pas pourquoi

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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
/// Some <math.h> files do not define M_PI...
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
 
int main()
{
  float **ps;
  int i, nvertices = 8;
 
  ps = (float**) malloc(nvertices);
 
  for (i = 0; i < nvertices; i++)
    ps[i] = (float*) malloc(3);
 
  for (i = 0; i < nvertices; i++)
  {
    ps[i][0] = cos(i * (2 * M_PI) / nvertices);
    ps[i][1] = sin(i * (2 * M_PI) / nvertices);
    ps[i][2] = 0.0;
  }
 
  for (i = 0; i < nvertices; i++)
      printf("(%f, %f, %f)\n", ps[i][0], ps[i][1], ps[i][2]);
 
  for (i = 0; i < nvertices; i++)
    free(ps[i]);
 
  free(ps);
}