Anagramme

Résolu
plus22 Messages postés 3 Date d'inscription mardi 31 mai 2011 Statut Membre Dernière intervention 1 juin 2011 - 31 mai 2011 à 23:00
plus22 Messages postés 3 Date d'inscription mardi 31 mai 2011 Statut Membre Dernière intervention 1 juin 2011 - 1 juin 2011 à 16:01
Bonjour à tous,

Je me suis inscrite sur le forum car j'ai une requête à vous faire, ô programmeurs!
Je m'explique.

Je suis étudiante aux beaux arts, et pour un travail artistique, j'aurais besoin d'un logiciel me permettant de générer toutes les combinaisons possibles à partir de lettres données.
ex : pour abc : acb, cba, bac, bca, etc...
Je suis très nul en maths et en programmation, sinon complétement ignorante, c'est pourquoi je vous demande si l'une ou l'un d'entre vous pourrais me mettre un fichier exécutable de ce type de programme à disposition.
En cherchant sur internet, je suis tombée sur votre forum, et j'ai l'impression que certains d'entre vous pourraient faire ça en quelques minutes...
J'ai d'ailleurs trouvé quelque chose proche de ce que je cherche ici :

http://www.vbfrance.com/codes/TOUS-ANAGRAMMES-MOT-COMBINATOIRE-PERMUTATION_6725.aspx

à ceci près que je souhaite pouvoir répéter plusieurs fois la même lettre
ex : internet, bateau, etc..
et avec des mots de 20 caractères!

Je ne sais pas du tout comment utiliser les codes mis à disposition sur votre site, c'est pourquoi j'aimerais beaucoup un exécutable!

J'espère ne pas trop vous en demander et avoir posté au bon endroit!

merci d'avance

Theoline
(plus22 sur le forum)

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 juin 2011 à 00:00
Salut

Il faut que tu mettes les mains dans le cambouis, que tu définissent les données de départ, les moyens nécessaires aux permutations.
Les seules aides que tu pourrais trouver se limitent aux questions générales "comment faire" jusqu'au détails des problèmes liés à l'utilisation d'instructions ou d'objets, mais ce sera à toi de faire.
Pour cela, tu dois dire dans quel environnement de développement tu veux travailler (VBA des logiciels Office, ou VB.Net).

Tout ce qu'on te proposer se trouve parmi les codes sources du site. Restera à compiler l'application et pour cela, tu dois avoir l'outil de développement adéquat.
- VBA est intégré aux logiciels Office
- VB.Net se trouve chez Microsoft : rechercher "VB Express" (gratuit)
ou, dans le pire des cas, une âme charitable pour te le compiler et t'expédier l'EXE, mais c'est rare car les membres tiennent à leur tranquillité et dévoiler une adresse mail est toujours délicat.
Pour ce qui est des sources VB6, tu ne trouveras pas (plus) l'outil VB6 qui n'est plus commercialisé depuis une quinzaine d'années.

Ce n'est pas la mer à boire, le VBA est surement plus facile d'accès.

Dernière solution : faire une demande dans la rubrique http://www.codes-sources.com/progonline.aspx

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
plus22 Messages postés 3 Date d'inscription mardi 31 mai 2011 Statut Membre Dernière intervention 1 juin 2011
1 juin 2011 à 00:53
Merci Jack pour ta réponse!

J'ai téléchargé microsoft visual basic express édition 2008, et j'essaye de faire fonctionner le code suivant, qui, je pense, correspond exactement à ce que je cherche:

[http://www.vbfrance.com/codes/ANAGRAMMES_49103.aspx[/url

Mais je ne sais pas du tout comment utiliser les 3 fichiers .frm, .vbp, .vbw .
Si tu as le temps, pourrais-tu m'expliquer?

Je te mets également en lien un site web qui fait exactement ce que je cherche à faire, seulement le nombre de caractères est limité.

[url=http://www.dcode.fr/generer-permutations]]


Merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
1 juin 2011 à 06:54
Bonjour,
et avec des mots de 20 caractères!

On voit bien que tes connaissances en mathématiques ne sont pas des meilleures
Le nombre de permutations possibles serait égal à factorielle 20 (allez : fais la lmultiplication suivante et du vas comprendre : 20 x 19 x 18 x 17 x ........etc .... x 2)
Où stockerais-tu tout ceci (pour un seul mot permuté) ? Quelle en serait l'utilité dès lors que la liste serait à ce point démesurée ?
C'est insensé.
Il en va différemment si tu l'on cherche simplement à obtenir un anagramme aléatoire d'un mot. Et le programme est alors tout-à-fait identique à celui qu'il faut pour "touiller" (un jeu de carte, par exemple).
Et ce genre de programme (tout bêtement touiller un tableau dynamique) figure dans la liste des codes déposés sur ce site.



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
1 juin 2011 à 07:58
Salut
ô programmeurs!


Vraiment les beaux arts VBA
Ce n'est seulement où stocker mais le temps
de performance
J'ai testé une simple loop
For iter As Double = 0 To (10 ^ 10)

Next

plus de 3m 40 sec et 10^10 > 20!
bon tu es peut nulle en math mais celui qui t'as donné ce projet est encore plus nul en math que toi

bonne continuation
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 juin 2011 à 09:12
Revenons à nos moutons

La source dont tu parles est une source VB6 et pas .Net (2005 et supérieurs).
Mais ce n'est pas grave, la source parait simple et VB Express devrait pouvoir la traduire sans problème :
- Mets ces fichiers dans un répertoire (rien que pour eux)
- Lance VB Express 2008 et demande une conversion :
Menu Fichier, Ouvrir, Conversion, Nouvelle solution et pointe vers le fichier VBP de ton répertoire.
Valide les quelques confirmations qu'il demande et, en quelques secondes, il te génèrera une solution VB.Net

En relisant en diagonal le code converti, tu verras qu'il y a des instructions qui n'ont pas pu être converties. Tu auras alors un lien d'information qui te dira comment procéder.
Une fois que tu auras pu faire tourner ce programme avec F5, tu pourras le compiler en EXE avec le menu Générer.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 juin 2011 à 09:17
Apparemment, il n'y a que le Form.Cls qui pose problème.
Cette instruction VB6 permet de nettoyer la forme avant d'écrire dessus, ce qui se présente différemment sous .Net.
Il te suffit de réorienter le résultat ailleurs, dans une TextBox multi-lignes par exemple.
0
plus22 Messages postés 3 Date d'inscription mardi 31 mai 2011 Statut Membre Dernière intervention 1 juin 2011
1 juin 2011 à 16:01
Hello,

Merci pour vos réponses.

@ucfoutu
[i]Quelle en serait l'utilité dès lors que la liste serait à ce point démesurée ?
C'est insensé. /i

C'est justement pour ça que je dois le faire!
Et quand au temps de calcul, je peux attendre un petit peu!...

@Jack
Je n'ai pas eu le temps aujourd'hui, je vais faire ça en fin d'aprem, et je te dis!

merci

à tout à l'heure!
0
Rejoignez-nous