Bonjour dans le code suivant j'essaye de calculer un produit de atrice tout vas bien pour l'encoder mais on dirait que la fonction produit matriciel ne fonctionne pas et je comprends pas pk?

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
Je viens de le refaire et tout se passe bien jusqu'a l'affichage de ma matrice donc le probléme est dans la fonction multiplication matrice mais je le vois pas 
 
#include <stdio.h>
#include <stdlib.h>
 
 
void encode(float tableau[100][100],int *l, int *c);
 
void multiplication(float t1[100][100],float t2[100][100],float t3[100][100],int *l1,int *c1, int *l2,int *c2,int *l3, int *c3);
 
int main()
{
 
    int lignes1  = 0;
    int colones1 = 0;
    int lignes2  = 0;
    int colones2 = 0;
    int lignes3  = 0;
    int colones3 = 0;
 
 
 
 
    float tableau1[100][100];
    float tableau2[100][100];
    float tableau3[100][100];
 
    printf("Encodage de la premiere matrice\n");
 
    encode(tableau1,&lignes1,&colones1);
 
    printf("Encodage de la deuxieme matrice\n");
 
    encode(tableau2,&lignes2,&colones2);
 
    printf("Voici le produit matriciel");
 
    multiplication(tableau1,tableau2,tableau3,&lignes1,&colones1,&lignes2,&colones2,&lignes3,&colones3);
 
 
 
 
 
 
    return 0;
}
 
void encode(float tableau[100][100],int *l, int *c)
{
    int i =0;
    int j =0;
 
    //Quelle est le nombre de lignes
    printf("Veuillez rentrer le nombre de lignes\n");
    scanf("%d",l);
 
    //Quelle est le nombre de colonnes
    printf("Veuillez rentrer le nombre de colonnes\n");
    scanf("%d",c);
 
    //Quelles sont les differentes valeurs pour matrice A et B
 
    for(i=0;i<*l;i++)
    {
        for(j=0;j<*c;j++)
        {
            printf("Entrez l'element %d %d :",i,j);
 
            scanf("%f",&tableau[i][j]);
 
        }
    }
 
 
}
 
void multiplication(float t1[100][100],float t2[100][100],float t3[100][100],int *l1,int *c1, int *l2,int *c2,int *l3, int *c3)
{
    int i =0,j=0,k=0;
 
 //Nombre de colonnes de la 1ere matrice = nbre de ligne de la deuxiéme matrice
 
 if(*c1!=*l2)
 {
     printf("Votre calcul n'est pas bon,veuilles vous assure que le nbr de colonne 1ere matrice = nbre de ligne deuxieme\n");
 }
 else
 {
     printf("Votre calcul est bon \n");
 
     for(i=0;i<*l1;i++)
     {
         for(j=0;j<*c2;j++)
         {
             for(k=0;k<*c1;k++)
             {
                 t3[i][j] += t1[i][k]*t2[k][j];
             }
         }
     }
 }
Merci bien