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 :

Créer un jeu du mot mêlé


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut Créer un jeu du mot mêlé
    Salut à tous et bonne année !

    J'ai vu ce matin un énoncé pour un concours nommé prolo*** qui consistait à créer un algo mots mêlés.
    J'ai trouvé cela pas mal et, étant donné que je débute en C, je me suis dit que j'allais tenter l'exo.

    Le principe est simple on écrit:
    -Sur la première ligne, trois entiers : N, M, P, séparés par un espace.
    -Sur les P lignes suivantes, la liste des mots à chercher dans la grille. Chaque mot contiendra entre 1 et 500 lettres majuscules.
    -Sur les N lignes suivantes, la grille. Chacune des lignes de la grille est une chaîne de M lettres majuscules.
    ex: (cette fonction renvoie 3 pour la liste de mots RAT,MANGER,BAZAR,CODER)
    BAZARD
    ARTRG
    ZAMAN
    ATYNQ
    REDOC
    Je me demande comment faire cela car, à ce qu'il parrait je suis capable de le faire avec ce que j'ai appris depuis le début de l'année. Cependant, je ne vois absolument pas comment, par exemple pouvoir reconnaitre un mot écrit en colone ou un mot écrit à l'envers...

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Glopsos Voir le message
    Je me demande comment faire cela car, à ce qu'il parrait je suis capable de le faire avec ce que j'ai appris depuis le début de l'année. Cependant, je ne vois absolument pas comment, par exemple pouvoir reconnaitre un mot écrit en colone ou un mot écrit à l'envers...
    Problème d'algorithme. Rien à voir avec le langage C.

    Il suffit d'organiser les données dans un tableau à 2 dimensions, puis pour chaque mot, chercher un pattern caractères par caractères.
    • ligne W-E
    • ligne E-W
    • colonne N-S
    • colonne S-N
    • diagonale NW-SE
    • diagonale NE-SW

    (rappel : W=Ouest, E=Est, etc.)

    Ca fait beaucoup de boucles, mais ce n'est pas très compliqué... En gros, dès qu'il y a une différence, on arrête la recherche en cours.

  3. #3
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Problème d'algorithme. Rien à voir avec le langage C.

    Il suffit d'organiser les données dans un tableau à 2 dimensions, puis pour chaque mot, chercher un pattern caractères par caractères.
    • ligne W-E
    • ligne E-W
    • colonne N-S
    • colonne S-N
    • diagonale NW-SE
    • diagonale NE-SW

    (rappel : W=Ouest, E=Est, etc.)

    Ca fait beaucoup de boucles, mais ce n'est pas très compliqué... En gros, dès qu'il y a une différence, on arrête la recherche en cours.
    C'est clairement pas vraiment dutout ce qui se fait de plus efficace hein... Je te conseille de regarder du coté des algorithme pour détecter une sous chaine de caractère, puis de les appliquer dans tous les sens possibles.

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    C'est clairement pas vraiment dutout ce qui se fait de plus efficace hein... Je te conseille de regarder du coté des algorithme pour détecter une sous chaine de caractère, puis de les appliquer dans tous les sens possibles.
    Vu qu'il s'agit de détecter un ensemble de mot, tu peux également regarder du côté des trie ("arbres à lettres"), pour ne faire qu'une boucle par "ligne" au lieu de P boucles.

    NB : Il y a déjà un sujet sur cet exercice sur ce forum, une petite recherche t'en dirait plus.
    --
    Jedaï

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut
    Citation Envoyé par Jedai Voir le message
    NB : Il y a déjà un sujet sur cet exercice sur ce forum, une petite recherche t'en dirait plus.
    --
    Jedaï
    Hmm... ma recherche n'a pas été fructueuse...

    Il suffit d'organiser les données dans un tableau à 2 dimensions
    C'est à dire explicitement? (c'est peut être explicite et j'en suis confus, mais je suis débutant et je n'ai pas compris )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    diagonale NW-SE 
    diagonale NE-SW
    Je vais déjà essayer de faire les colones et EW...

    Vu qu'il s'agit de détecter un ensemble de mot, tu peux également regarder du côté des trie ("arbres à lettres"), pour ne faire qu'une boucle par "ligne"
    Ca fonctionne aussi pour les colones?

    Merci pour toutes ces réponses, je vais commencer l'algo

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    C'est clairement pas vraiment dutout ce qui se fait de plus efficace hein... Je te conseille de regarder du coté des algorithme pour détecter une sous chaine de caractère, puis de les appliquer dans tous les sens possibles.
    C'est sûr, mais il faut bien démarrer par quelque chose de compréhensible par un débutant.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 11
    Par défaut
    Il suffit d'organiser les données dans un tableau à 2 dimensions
    J'aurais besoin d'en savoir plus afin d'essayer de commencer l'exercice...

    L'idéal serait d'utiliser un tri arbre à lettre et de lire horizontalement puis verticalement le tableau. Cependant, j'ai besoin de tutos et/ou de votre aide.
    Google ne m'a pas becoup aidé pour le moment...

  8. #8
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    C'est sûr, mais il faut bien démarrer par quelque chose de compréhensible par un débutant.
    Dans ce cas, il ne faut peut être pas s'attaquer à prologin...

Discussions similaires

  1. Créer un jeu 2d Visual Basic .net (1.1)
    Par SnkVrt dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 20/03/2007, 09h16
  2. Jeu de mot avec connexion à une bdd a réaliser
    Par Orkyd dans le forum Projets
    Réponses: 3
    Dernier message: 23/12/2006, 18h59
  3. aide pour créer un jeu
    Par cstefany dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/10/2005, 03h51
  4. Créer un jeu avec plusieurs langages
    Par spidouille dans le forum Pascal
    Réponses: 6
    Dernier message: 04/10/2005, 14h07

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