3d4 int gauche (MatrMN matrice, int m, int n) { int dir=0, i = 0, j = 1, cpt=0; while (i >= 0 && j >= 0 && i < n && j < m) { if (dir == 0) { if (matrice[i][j+1] == 0) { j++; dir = (dir + 1) % 4; } else if (matrice[i + 1][j] != 0) { j--; dir = (dir + 3) % 4; } else { i++; } } else if (dir == 1) { if (matrice[i-1][j] == 0) { i--; dir = (dir + 1) % 4; } else if (matrice[i][j+1] != 0) { i++; dir = (dir + 3) % 4; } else { j++; } } else if (dir == 2) { if (matrice[i][j-1] == 0) { j--; dir = (dir + 1) % 4; } else if (matrice[i-1][j] != 0) { j++; dir = (dir + 3) % 4; } else { i--; } } else if (dir == 3) { if (matrice[i+1][j] == 0) { i++; dir = (dir + 1) % 4; } else if (matrice[i][j-1] != 0) { i--; dir = (dir + 3) % 4; } else { j--; } } cpt++; } return cpt; } 0