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 :
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;
}
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
 
 
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’