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
void flip(image* img) {
	int i, j;
	char *tmp = NULL;
	for(i=0; i<(img->h/2); i++) {
		tmp = (char*) malloc(sizeof(img->w*3));
		for(j=0; j<img->w*3; j++) { // je récupére une ligne vers le debut.
		printf("i1:j%d, ",j);
			tmp[j] = img->data[(i*img->w*3)+j];
		}
		for(j=0; j<img->w*3; j++) { // je récupère une ligne vers la fin que je met a la place de la première.
		printf("i2:j%d, ",j);
			img->data[(i*img->w*3)+j] = img->data[((img->h-i)*img->w*3)+j];
		}
		for(j=0; j<img->w*3; j++) { // la ligne que j'ai récupérer au debut je l'insert a la fin.
		printf("i3:j%d, ",j);
			img->data[((img->h-(i+1))*img->w*3)+j] = tmp[j];
		}
		printf("\nok\n");
		free(tmp);
		printf("\nok\n");
	}
}
Une erreur survient quand on arrive au "free(tmp)";
le premier ok s'affiche mais pas le deuxième, j'ai passé une heure a chercher l'erreur mais la j'en peux plus, je fait donc appelle à vous

sa doit juste être une petite erreur de rien du tout.