Bonjour à tous,
J'ai écrit un programme en C dans lequel j'ai mis des macros pour modifier les indices d'un tableau. Mon souci c'est que ça ne fonctionne pas je ne vois pas pourquoi. Pouvez-vous m'aidez à résoudre ce problème s'il vous plait ?
Voici mon code :
et voici le message d'erreur de mon compilateur :
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 #include <stdio.h> #include <stdlib.h> #include "mex.h" #define res[i1][j1] res[i1*col+j1] #define Ibas[i1][j1] Ibas[i1*col+j1] #define Ihaut[i1][j1] Ihaut[i1*col+j1] /*#######################************ Programme C hysteresis***********************####################*/ void hysteresis(double *Ibas,double *Ihaut,double *res,int row, int col) { int i1,j1,k,count,MAXITERATION; count = 1; k=0; MAXITERATION = 200; while ( ( count != 0 ) && k < MAXITERATION ) { count = 0; for(i1=1; i1=row-1;i1++) { for(j1=1; j1=col-1;j1++) { if(res[i1][j1]>0) { if(Ibas[i1-1][j1-1]>0) { res[i1-1][j1-1]=1; count=count + 1; } if(Ibas[i1-1][j1]>0) { res[i1-1][j1]=1; count=count + 1; } if(Ibas[i1-1][j1+1]>0) { res[i1-1][j1+1]=1; count=count + 1; } if(Ibas[i1][j1-1]>0) { res[i1][j1-1]=1; count=count + 1; } if(Ibas[i1][j1+1]>0) { res[i1][j1+1]=1; count=count + 1; } if(Ibas[i1+1][j1-1]>0) { res[i1+1][j1-1]=1; count=count + 1; } if(Ibas[i1+1][j1]>0) { res[i1+1][j1]=1; count=count + 1; } if(Ibas[i1+1][j1+1]>0) { res[i1+1][j1+1]=1; count=count + 1; } } } } k = k + 1; } return; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 hysteresis.c:7:13: attention : blanc d'espacement manquant après le nom de la macro [enabled by default] hysteresis.c:8:14: attention : blanc d'espacement manquant après le nom de la macro [enabled by default] hysteresis.c:9:15: attention : blanc d'espacement manquant après le nom de la macro [enabled by default] hysteresis.c:12:25: erreur: i1 undeclared here (not in a function) hysteresis.c:12:25: erreur: j1 undeclared here (not in a function) hysteresis.c:12:25: erreur: expected ;, , or ) before Ibas
Partager