Bonjour,

Je débute en algorithmique et j'essaye de faire un algo qui parcours un tableau à une dimension, chaque valeur du tableau est représenté par un point si il y a une croix par éxemple on bloque l'avancement la fonction doit retourner 1 si il n'y a pas eu de blocage et 0 sinon mais et c'est surement du à la récusivité les valeur de déplacement de ma variable diminue alors qu'elle doivent augmenter pour atteindre la même valeur que la variable dont la valeur correspond à la dernière case du tableau.

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
typedef struct
	{
		int x;
	}coord;
 
 
int verif(coord depart, coord arrive, char lab[], int size_table)
{
	coord temp;
	char point = '.';
 
	temp = depart;
 
if(temp.x + 1 < size_table)
{
	if(lab[temp.x + 1] == point)
	{
 
		temp.x++;
 
	}
 
}
	return temp.x;
 
}
int main(int argc, char *argv[])
{
 
	char lab[4] = {'.', '.', '.', '.'};
	coord depart;
	coord arrive;
	depart.x = 0;
	arrive.x = 4;
	int size_table = 4;
	printf("%d", verif(depart, arrive, lab, size_table));
 
    return 0;
}
ici j'ai mis return temps.x poru vérifer sa valeur qui est 1 et mois j'attend 4 pour qu'elle soit égale à arrive et ainsi pour faire une comparaison et retourner 1 ou 0 mais je ne vois pas comment faire je suis bloquer et j'ai beau réfléchir je ne trouve. Serait-je vraiment un vrai NULL