Bonjour,

je début en programmation est j'ai quelque difficulté, je suis arrive a la parti de l'allocation dynamique de mémoire. Et je voudrais parvenir a faire l'addition des valeur d'un tableau a plusieurs dimension. Pour cela j'ai crée une fonction mais quand je fait appel à celle-ci, je ne parvient pas a affiche le résultat. Alors que si j'utilise le même code sans l'aide de la fonction, j’obtiens le résultat voulu. Voici mon code de la fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
int Addition(int **tab, int lo,int la)
{
    int som;
 
    for(size_t i = 0;i < lo;++i)
    {
        for(size_t j = 0;j < la;++j)
        {
            som += tab[i][j];
        }
    }
    return som;
}
et voici le code pour faire appel a la fonction:
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
int main(
{
int lo,la, menu, som;
 
printf("Entre la longeur et la largeur du tableau:");
 
   if(scanf("%d %d",&lo, &la)!=2)
   {
        printf("\nErreur lors de la fixation de la taille du tableau!");
        return EXIT_FAILURE;
   }
 
   int (*tab)[la] = malloc (sizeof(int [lo][la]));
 
       if(tab==NULL)
       {
          printf("\nErreur lors de l allocation!!");
          return EXIT_FAILURE;
       }
 
       printf("Entre les valeurs du tableau: ");
 
       for(size_t i=0;i<lo;++i)
       {
           for(size_t j=0;j<la;++j)
           {
                if(scanf("%d", &tab[i][j]) != 1)
           {
                printf("\nErreur!!");
                return EXIT_FAILURE;
            }
 
            printf("tab[%zu][%zu] = %d\n", i,j, tab[i][j]);
        }
   }
 
 
 
printf("Que voulez-vous faire: 1.Addition\n");
scanf("%d", &menu);
 
switch(menu)
case 1:
    {
        som = Addition(tab,lo,la);
        printf("la somme des valeurs du tableau est : %d", som);
 
    }
 
free(tab);
}
J’espère que vous pourrez m'aide, Merci.