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:
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 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; }
J’espère que vous pourrez m'aide, Merci.
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); }
Partager