Salut tout le monde !

Je suis un peu dans la panade, je cherche une manière de convertir une matrice d'incidence vers une matrice d'adjacence, et vice-versa.
J'ai plus ou moins un algo correct, mais (y'a toujours un mais..) ça déconne sur la fin.
Je m'explique :
J'ai une matrice d'incidence de taille n*m (sommets * arêtes = 4 * 5) et une matrice d'adjacence en taille n

Ma matrice d'incidence :

1 1 0 0 0
1 0 1 1 0
0 1 1 0 1
0 0 0 1 1

La matrice d'adjacence que je suis sensé obtenir :

0 1 1 0
1 0 1 1
1 1 0 1
0 1 1 0

Du coup, mon petit code :

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
 
void inc_vers_adj(matrice_incidence inc) {
    matrice_adjacence adj;
    adj = create_adjacence(inc.nb_sommets);
    initialisation(adj);
    affichage_adj(adj);
    affichage_inc(inc);
    int ind_col, ind_ligne;
    int tmp_l1 = -1, tmp_l2 = -1;
 
 
    for(ind_col=0;ind_col<inc.nb_aretes;ind_col++){
        for(ind_ligne=0;ind_ligne<=inc.nb_sommets;ind_ligne++){
            printf("%d et %d : %d \n", ind_col, ind_ligne, inc.coeff[ind_col][ind_ligne]);
            if(inc.coeff[ind_col][ind_ligne]!=0){
                if(tmp_l1 != -1){
                    if (tmp_l2 == -1)
                    {
                        tmp_l2 = ind_ligne;
                    }
                }
                else
                    tmp_l1 = ind_ligne;
            }
        }
        printf("%d et %d \n", tmp_l1, tmp_l2);
        adj.coeff[tmp_l2][tmp_l1] = inc.coeff[ind_col][tmp_l1];
        adj.coeff[tmp_l1][tmp_l2] = inc.coeff[ind_col][tmp_l2];
        tmp_l1 = -1;
        tmp_l2 = -1;
        affichage_adj(adj);
    }
    //affichage_adj(adj);
}
Voici un exemple de l'affichage que j'ai lorsque je lance la fonction, ce qui emmène au problème :

Matrice d'incidence :
1 1 0 0 0
1 0 1 1 0
0 1 1 0 1
0 0 0 1 1

0 et 0 : 1
0 et 1 : 1
0 et 2 : 0
0 et 3 : 0
0 et 4 : 0
0 et 1
Matrice d'adjacence :
0 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0

1 et 0 : 1
1 et 1 : 0
1 et 2 : 1
1 et 3 : 1
1 et 4 : 0
0 et 2
Matrice d'adjacence :
0 1 1 0
1 0 0 0
1 0 0 0
0 0 0 0

2 et 0 : 0
2 et 1 : 1
2 et 2 : 1
2 et 3 : 0
2 et 4 : 1
1 et 2
Matrice d'adjacence :
0 1 1 0
1 0 1 0
1 1 0 0
0 0 0 0

3 et 0 : 0
3 et 1 : 0
3 et 2 : 0
3 et 3 : 1
3 et 4 : 1
3 et 4
Erreur de segmentation (core dumped)

Voilà voilà, des avis sur comment corriger mon problème ?
Merci d'avance la communauté