Exercice noté #6

Écrivez une fonction récursive (enumere) qui prend en argument un tableau de tableaux et qui énumère toutes les séquences que l'on peut construire en prenant pour chaque sous-tableau une quelconque de ses valeurs. Aucune séquence ne doit se répéter. L'ordre des séquences n'est pas important (l'ordre dans lequel vous énumérez les séquences peut être différent de celui donné dans les exemples qui suivent).

 
enumere([["a","b"],["c","d"],["e","f"]]);
a c e
a c f
a d e
a d f
b c e
b c f
b d e
b d f

 
enumere([["le","la"],["chienne","chat","cheval"],["mange","boit"],["du","de l'"],["lait","eau"],["."]]);
le chienne mange du lait .
le chienne mange du eau .
le chienne mange de l' lait .
le chienne mange de l' eau .
le chienne boit du lait .
le chienne boit du eau .
le chienne boit de l' lait .
le chienne boit de l' eau .
le chat mange du lait .
le chat mange du eau .
le chat mange de l' lait .
le chat mange de l' eau .
le chat boit du lait .
le chat boit du eau .
le chat boit de l' lait .
le chat boit de l' eau .
le cheval mange du lait .
le cheval mange du eau .
le cheval mange de l' lait .
le cheval mange de l' eau .
le cheval boit du lait .
le cheval boit du eau .
le cheval boit de l' lait .
le cheval boit de l' eau .
la chienne mange du lait .
la chienne mange du eau .
la chienne mange de l' lait .
la chienne mange de l' eau .
la chienne boit du lait .
la chienne boit du eau .
la chienne boit de l' lait .
la chienne boit de l' eau .
la chat mange du lait .
la chat mange du eau .
la chat mange de l' lait .
la chat mange de l' eau .
la chat boit du lait .
la chat boit du eau .
la chat boit de l' lait .
la chat boit de l' eau .
la cheval mange du lait .
la cheval mange du eau .
la cheval mange de l' lait .
la cheval mange de l' eau .
la cheval boit du lait .
la cheval boit du eau .
la cheval boit de l' lait .
la cheval boit de l' eau .

 
enumere([[1,2,3],[10,20],[5]]);
1 10 5
1 20 5
2 10 5
2 20 5
3 10 5
3 20 5
Notation: Cet exercice est noté sur 6 points. Le nom du programme à remettre est enum.js et la remise doit se faire par studium.