IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Toutes les combinaison possibles entre les termes


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Doctorante
    Inscrit en
    Mai 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 58
    Par défaut Toutes les combinaison possibles entre les termes
    Bonjour,
    je suis vraiment bloquée je n'ai pas une idée même pour développer

    le fichier d'entrée est le suivant:
    those , the
    accidents , connection
    petroleum , tankers
    je veux faire toutes les combinaisons possibles entres les termes pour avoir ce résultat:
    those - accidents - petroleum
    those - accidents - tankers
    those - connection - petroleum
    those - connection - tankers
    the - accidents - petroleum
    the - accidents - tankers
    the - connection - petroleum
    the - connection - tankers
    Merci de m'aider par un bout de code ou par une simple idée

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    À mon avis, le plus simple est un raisonnement par récurrence.

    Définir une méthode qui prend, en paramètres :
    - une liste de mots qu'on a choisis d'utiliser, venant des premières lignes
    - la liste des mots restants, avec toutes les possibilités des lignes restantes.

    Et qui a pour effet : d'écrire toutes les combinaisons composées, d'abord des mots qu'on a choisis d'utiliser, puis du reste de la liste de mots.

    Elle fera donc comme ça : dans la liste des mots restants, elle prend la première ligne. Elle enlève cette première ligne des lignes restantes.
    Puis elle fait une boucle sur toutes les possibilités de cette ligne. Dans chaque boucle, elle s'appelle elle-même, avec comme mots choisis, les mots qui étaient déjà choisis, plus la possibilité correspondant à cette boucle, et comme liste de mots restants, ce qui reste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut
    C'est probablement plus simple dit comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    BufferedReader lecteur = new BufferedReader(new FileReader("fichier d'entrée"));
    Vector<String[]> lignes = new Vector<String[]>();
    String valeur;
    while (lecteur.ready()) lignes.add(lecteur.readLine().split(","));
    lecteur.close();
    lignes.trimToSize();
    for (int i = 0 ; i < lignes.get(0).length ; i++) {
        for (int j = 0 ; j < lignes.get(1).length ; j++) {
            for (int k = 0 ; k < lignes.get(2).length ; k++) {
                System.out.println(lignes.get(0)[i].trim() + " " + lignes.get(1)[j].trim() + " " + lignes.get(2)[k].trim());
                }
            }
        }
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  4. #4
    Membre confirmé
    Femme Profil pro
    Doctorante
    Inscrit en
    Mai 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Doctorante
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2012
    Messages : 58
    Par défaut
    mercii

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Forcément, si on connaît le nombre de lignes du fichier d'entrée la solution est plus simple -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut
    Effectivement, connaissant le nombre de lignes, c'est très simple. Et je vous avoues qu'avec un nombre de lignes inconnu, et un nombre de termes inconnu par lignes, je serai totalement incapable de trouver une solution. C'est d'ailleurs votre explication, thelvin, qui m'a inspiré et permis de pondre ce petit bout de code QUI NE FONCTIONNE QUE DANS CE CAS !!!
    Par contre, si vous pouviez nous montrer un code générique équivalent, je suis preneur...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/04/2015, 13h00
  2. [C#] Effectuer toutes les combinaisons possibles entre (n) entiers
    Par unix27 dans le forum Débuter
    Réponses: 11
    Dernier message: 05/11/2014, 16h04
  3. Réponses: 4
    Dernier message: 12/08/2014, 14h07
  4. Stocker dans un tableau toutes les combinaisons possibles entre plusieurs tableaux.
    Par gui-yem dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 19/03/2014, 15h22
  5. toutes les combinaisons possibles
    Par marocleverness dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 29/05/2006, 00h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo