bonjour !
je suis en train de faire un programme sous dev c++, qui permet d'entrer au clavier une matrice dont les dimensions sont inconnues au départ. on doit donc entrer les valeurs des dimensions puis celles des composants de la matrice.
voilà la fonction concernée. elle est incluse dans un main "test" disons ou je rentre les valeurs m et n qui sont les dimensions de ma matrice.
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 int ** EntreeMatrice(int m, int n) { int i=0; int j=0; int **c; c=(int**)malloc(m*sizeof(int*)); *c =(int*)malloc(n*sizeof(int)); while (i<m) {j=0; while(j<n) { printf("Entrez au clavier l'element(entier positif)[%d][%d]\n",i+1,j+1); scanf("%d",((*(c+i))+j)); */PROBLEME?*/ j++; } i++; } printf("la matrice est:\n"); i=0; j=0; while (i<m) {j=0; while(j<n) { printf("%d",(*(*(c+i))+j)); j++; } printf("\n"); i++; } return c; }
lorsque j'execute ce programme la fenêtre d'execution bug à differents moments. je peux parfois rentrer certaines valeurs ( exemple, pour une matrice de dimension 2,2 , je ne peux pas entrer les éléments [2][1] et [2][2], mais par contre, la première ligne a l'air de marcher...) et je me vois obligée de terminer l'execution. lorsque j'essaye de débugger, il se trouve que c'est a la ligne que j'ai indiquée que le probleme se pose ... pourquoi la boucle commence-t-elle a s'enclencher? quelle est mon erreur de syntaxe ?
merci par avance de votre indulgence et de votre réponse
Partager