Bonjour,
Je rencontre des difficultés dans l’élaboration d’une fonction en C++, mais le problème est à la base un problème d’algorithme.
Je suis sur un projet d’un programme visant à résoudre les grille de Kakuro. Ce petit jeu vise à mettre des chiffres de 1 à 9 dans des cases en respectant certaines contraintes. Pour les intéressés qui ne connaitraient pas, vous trouverez plus d’infos sur Wikipédia.
J’ai besoin d’une fonction de base pour mon algorithme principal. Cette fonction doit me retourner un tableau de tableau d’entier. Voilà son prototype :
entier ** combinaisons(entier valeur, entier nbcase)
ou
combinaisons(entier **tableau, entier valeur, entier nbcase)
J’ai des lignes de nbcase cases. Dans ces lignes je dois mettre des chiffres distincts de 1 à 9, et la somme de ces chiffres doit faire valeur. Cette fonction me retourne donc toutes les combinaisons possible pour ma ligne. Par exemple :
On remarque au passage que les sous-tableaux ont toujours la même taille : nbcase.
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 combinaisons(8, 2) Retourne : 1 7 2 6 3 5 combinaisons(8, 3) Retourne : 1 2 5 1 3 4 combinaisons(11, 3) Retourne : 1 2 8 1 3 7 1 4 6 2 3 6 2 4 5
J’ai tenté une solution par récurrence, mais sans résultats…
Merci de votre aide.
Partager