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

Algorithmes et structures de données Discussion :

Algorithme de recherche dans tableaux comme au sudoku


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Par défaut Algorithme de recherche dans tableaux comme au sudoku
    Bonjour,
    Je suis a la recherche d’algorithme qui me permettra de générer 10 nombre a partir d’un tableau à 2 dimensions 10X10 avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    5 nombre des 10 soit existant dans la 1er ligne du tableau
    4 nombre des 10 soit existant dans la 2e ligne du tableau
    3 nombre des 10 soit existant dans la 3e ligne du tableau
    2 nombre des 10 soit existant dans la 4e ligne du tableau
    3 nombre des 10 soit existant dans la 5e ligne du tableau
    2 nombre des 10 soit existant dans la 6e ligne du tableau
    5 nombre des 10 soit existant dans la 7e ligne du tableau
    4 nombre des 10 soit existant dans la 8e ligne du tableau
    2 nombre des 10 soit existant dans la 9e ligne du tableau
    3 nombre des 10 soit existant dans la 10e ligne du tableau
    je ne sais pas comment on peut appeler cette algorithme

    Svp j’ai cherché par tous avant de venir ici
    Cordialement

  2. #2
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Il n'y a pas de solution générale : en effet, selon ton tableau 10x10, il pourrait ne pas y avoir de solution. Donc il va falloir nous en dire plus.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Par défaut
    Citation Envoyé par prgasp77 Voir le message
    Il n'y a pas de solution générale : en effet, selon ton tableau 10x10, il pourrait ne pas y avoir de solution. Donc il va falloir nous en dire plus.
    Merci pour t'as réponse.

    il y'as toujours au moins une solution car chaque ligne de ce tableau contient 10 nombre de 1 a 35

    voici le tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1	3	4	10	12	26	27	28	30	31
    1	2	11	12	13	14	20	22	29	30
    2	3	7	9	11	14	17	23	26	28
    2	7	12	14	17	18	23	26	28	32
    6	10	13	22	23	30	32	33	34	35
    1	2	6	7	14	17	18	21	22	24
    3	17	18	20	25	29	30	32	33	35
    1	8	13	14	21	23	24	26	28	31
    4	5	6	7	8	10	13	23	24	33
    1	4	5	12	13	28	29	31	33	35

    j'ai des 100n de tableau donc impossible de le faire manuellement



    cordialement

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut
    Tu peux résoudre facilement ton problème en fessant un peu de backtraking

  5. #5
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Citation Envoyé par DATA MINER Voir le message
    il y'as toujours au moins une solution car chaque ligne de ce tableau contient 10 nombre de 1 a 35
    Non.

    Citation Envoyé par lolzx Voir le message
    Tu peux résoudre facilement ton problème en fessant un peu de backtraking
    C'est une méthode, qui trouvera une réponse si il en existe. Je conseille de backtracker en sélectionnant en priorité des nombres très présent dans le tableau. Un premier crible peut aussi permettre d'ignorer les nombres qui ne peuvent pas faire partie de la solution (comme dans ton exemple le 34, qui n'apparaît que dans la cinquième ligne.

    Cdlt,

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Par défaut
    Voici la solution que j’ai trouve
    Je génère des tableaux qui contiennent toutes les combinaisons possibles de N nombre voulue de 10

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    T1 contient 5^10 possibilité
    T2 contient 4^10 possibilité
    T3 contient 3^10 possibilité
    T4 contient 2^10 possibilité
    T5 contient 3^10 possibilité
    T6 contient 2^10 possibilité
    T7 contient 5^10 possibilité
    T8 contient 4^10 possibilité
    T9 contient 2^10 possibilité
    T10 contient 3^10 possibilité
    Apres je mets tous dans un seul tableux T

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    N=0
    For X1 = 0 To UBound(t1)
    For X2 = 0 To UBound(t2)
    For X3 = 0 To UBound(t3)
    For X4 = 0 To UBound(t4)
    For X5 = 0 To UBound(t5)
    For X6 = 0 To UBound(t6)
    For X7 = 0 To UBound(t7)
    For X8 = 0 To UBound(t8)
    For X9 = 0 To UBound(t9)
    For X10 = 0 To UBound(t10)
     
    T[N] = t1(X1) & t2(X2) & t3(X3) & t4(X4) & t5(X5) & t6(X6) & t7(X7) & t8(X8) & t9(X9) & t10(X10)
    N++

    Je surprimes les doublons dans la même ligne du tableau T élément séparé par ;


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TT = Split(T[N], ";")
     
    For m1 = 0 To UBound(TT)
     For m2 = m1 + 1 To UBound(TT)
       If  TT(m1) = TT(m2) Then TT(m2) = NULL
     Next m2
    Next m1
     
    If UBound(TT) <10 Then accepter(TT)

    Si le nombre d’élément dans le tableau TT est inferieur de 10 on accepte TT


    Vous en penser quoi a part que c’est trop lent

    est ce que il y'as une optimisation possible


    merci

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par DATA MINER Voir le message
    Vous en penser quoi a part que c’est trop lent

    est ce que il y'as une optimisation possible
    J'en pense qu'il n'y a pas 5^10 possibilités de prendre 5 éléments parmi 10.

    Et qu'une fois qu'on a choisi 5 éléments parmi 10 dans le premier tableau, ca réduit très probablement le nombre d'éléments à choisir dans les 9 tableaux suivants. Et ainsi de suite.

    Donc oui, il y a matière à optimiser.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. [XL-2010] Recherche dans tableaux à 2 axes
    Par sicg2013 dans le forum Excel
    Réponses: 4
    Dernier message: 20/06/2013, 13h23
  2. algorithme de recherche dans un arbre
    Par blacksf dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 19/12/2012, 12h34
  3. [Débutant] Algorithme de recherche dans 2 listbox
    Par Skder dans le forum C#
    Réponses: 4
    Dernier message: 21/11/2011, 17h14
  4. [Tableaux] rechercher dans une variable array()
    Par tom06440 dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2006, 17h45
  5. [Tableaux] Recherche valeur dans tableaux
    Par Kaimann dans le forum Langage
    Réponses: 10
    Dernier message: 21/10/2005, 11h57

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