Bonjour , je n'arrive pas à faire marcher le code de jacobi de numerical recipes.
Voici ce que je fais :

Je prend le code tel-quel et je lui rajoute une petite fonction "main" (ci-dessous ) pour pouvoir le tester, censée me renvoyer les valeurs propres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 void main()
{
float a[4][4],v[4][4];
float d[4];
int nrot,i;
a[0][0]=1;a[0][1]=2;a[0][2]=3;a[0][3]=4;
a[1][0]=2;a[1][1]=2;a[1][2]=5;a[1][3]=7;
a[2][0]=3;a[2][1]=5;a[2][2]=3;a[2][3]=2;
a[3][0]=4;a[3][1]=7;a[3][2]=2;a[3][3]=1;
jacobi(a,4,d,v,nrot);
 
for(i=0;i<4;i++) {printf("%f ",d[i]);};
}
En parallèle , j'ai téléchargé nrutil.h et nrutil.c , que j'ai mis dans le même dossier que jacobi.c

ma commande pour compiler le tout est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 > gcc jacobi.c nrutil.c -lm
Ce qui ne semble pas poser de probleme car il ne recontre pas d'erreur et me sort bien un executable ( a.out )

Seulement quand je le fais tourner il ne me sort qu'une erreur de segmentation.
Je me demande si mon erreur ne vient pas des déclarations de variables dans mon fonction main. Ou peut etre fallait il faire quelque chose de plus avec les fichiers nrutil ?