Programmer avec le langage Linotte
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Programmer avec le langage LinotteConnexion

Besoin d'un conseil sur la programmation en Linotte ?

Le deal à ne pas rater :
(CDAV) Foire aux vins : -20% dès 99€ d’achat
Voir le deal

descriptionProgrammation et combinatoire EmptyProgrammation et combinatoire

more_horiz
Bjr,
Existe-t-il en Linotte une fonction "arrangement" ?
Bien cordialement
FC

descriptionProgrammation et combinatoire EmptyRe: Programmation et combinatoire

more_horiz
Sur un tableau ?
Mes souvenirs (et mauvais) en combinatoire remontent à bcp d'années Smile

Dernière édition par admincpc le Lun 25 Sep - 21:00, édité 1 fois

descriptionProgrammation et combinatoire EmptyCombinatoire/arrangement

more_horiz
Merci pour votre attention. Côté math, la formule m'est connue et je puis vous affirmer que ça date... moi itou.
cela se ferait à partir d'un casier (de nombre ou de texte)
J'ai cherché des algo pour les arrangements avec ou sans répétitions, mais je m'embrouille dans les boucles  et je tourne en rond (c'est très réussi pour une boucle !)
Si les membres de cet honorable forum avaient une solution ... je suis preneur.
Merci pour votre aide.
FC

descriptionProgrammation et combinatoire EmptyRe: Programmation et combinatoire

more_horiz
Vous pouvez toujours mettre l'algo ici sur le forum et on regarde ensemble ?

descriptionProgrammation et combinatoire EmptyProgrammation et combinatoire

more_horiz
Merci pour votre invite.
Voici un code que j'ai traduit en Linotte sur la la base d'un pseudo code pêché sur le net :

Déclaration :

Rés est un nombre valant 1 // Résultat attendu
i est un nombre
k est un nombre // Nb d'éléments à arranger avec k > 0 ou k <= n
n est un nombre // Nb d'éléments de la liste

début

"Nombre d'éléments à arranger dans une liste ?"!
K ?
"Nombre d'éléments composant la liste ? " !
n ?
si (k<0) ou (k>n), retourne 0
pour i de (n-k +1) à (n), lis
i = n-k+1
ferme
tant que i< (n+1),lis
Rés = Rés*i
i = i +1
ferme

"Le nombre d'arrangements pour {k} éléments d'une liste de {n} éléments est : {rés}" !

termine

Ce code qui calque la formule fonctionne correctement. Mais ce n'est pas ce que je vise !
Je souhaite (probablement en exploitant le "i" de la formule") présenter la liste des arrangements sous la forme ( par exemple, pour une liste composé de 3 lettres "A, B, C") : "A", "B", "C", "A,B", "A,C"  "A,B,C", "A,C,B" ... etc  totalisant 15 combinaisons.
Je ne sais pas faire...
Merci pour votre aide.
Bien cordialement.
FC

descriptionProgrammation et combinatoire EmptyRe: Programmation et combinatoire

more_horiz
Bonjour,

J'ai essayé de résoudre ton problème mais je ne suis arrivé qu'à moitié !

A priori, le résultat n'est pas bon :

Code:


/*
 https://www.developpez.net/forums/d429282/general-developpement/algorithme-mathematiques/contribuez/java-permutations-combinaisons/
*/

globale
 liste est un casier de nombres
 n est un nombre valant 3
 p est un nombre valant 3

principale :
 début
 efface tableau
 //demande n
 //demande p
 // On initialise le tableau liste avec p fois 0:
 pour p, ajoute 0 dans liste
 //ici les actions
 parcours partition avec 0

partition : index
 start est un nombre valant 0
 i est un nombre
 début
 //
 si index >= p lis
 parcours afficher arrangement avec liste
 reviens
 ferme
 si index>0, start vaut liste{index-1} + 1
 pour i de start à (n-1) lis
 liste{index} prend i
 parcours partition avec index + 1
 ferme
 reviens

afficher arrangement : tableau
 chaine est une texte
 début
 pour chaque tableau lis
 ajoute joker + " " dans chaine
 ferme
 affiche "( " + chaine + ")"
 reviens

descriptionProgrammation et combinatoire EmptyProgrammation et combinatoire

more_horiz
Merci bcp pour votre code (sur les arrangements) surtout qu'il est de très loin, bien plus évolué que le mien.
Pour ma part, je cale lamentablement. Pour palier mon incompétence j'ai utilisé la fonction "mélange" avec un boucle...
à la longue, il se forme (ou pas) une combinaison correspondant à mes recherches.
C'est pas terrible, j'en conviens... mais reste en phase avec mes moyens (bien rudimentaires)
Encore une fois merci
Cordialement
FC

descriptionProgrammation et combinatoire EmptyRe: Programmation et combinatoire

more_horiz
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre