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 :

Trouver le plus d'occurences possibles


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Points : 77
    Points
    77
    Par défaut Trouver le plus d'occurences possibles
    bonjour!

    je rencontre un autre probleme plus difficile a resoudre, je m'explique on as un tableau de x chiffres en voici un par ex:
    int tab[20] = {1,2,3,5,6,10,11,12,13,14,17,19,20,21,22,23,29,30,31,32};
    nous devons trouver le plus d'occurences possibles aux nombres qui se suivent , ici la solution est 1,2,3 && 10,11,12 && 19,20,21 auquel s'ajoute une autre condition qui complique le tout les nombres additione ou soustrait a 9 doit etre compris dans les nombres trouves... et les nombres trouvee doivent etres stocke ds un tableau d'entier. un int *tab
    ex; 1+9 = 10 ce nbre est deja trouvee
    ex 21 - 9 = 12 ce nbre est ds la liste

    voila g aucune idee du code a faire, je bloque dessus dessus depuis 2 jours, le mieux serait de le faire avec juste des boucles while et if:

    voici mon code basique en C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    int     main()
    {
      int   i;
      int   n;
      int   d;
      int   pos[50];
      int   max;
     
      max = 9;
      i = 0;
      n = 0;
      d = 0;
      int tab[20] = {1,2,3,5,6,10,11,12,13,14,17,19,20,21,22,23,29,30,31,32};
      tab[20] = -1;
      while (tab[i] != -1)
        {
     
          if (n == max)
            {
              printf("occurence trouvee %d nombres qui se suivent\n", n);
            }
          else
            max--;
        }
    }
    merci bcp pour votre aide...

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Pourrais-tu donner l'énoncé exact de l'exercice, je n'ai pas tout compris
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    cool! je ne suis pas moins bon que TrapD!

    Vraiment, on ne comprends pas tout...
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Heu, j'ai peut-être compris, ce gars-là a l'air de parler aussi mal que moi

    Pour qu'une suite S de nombres consécutifs parmi la liste L soit valide, il faut qu'elle vérifie :
    pour tout s de S, il existe l dans L, tel que l+9=s ou l-9=s

    Si j'ai bien compris, une manière simple de procéder est de faire comme si tu cherchais une suite de nombre consécutifs la plus grande possible. Il faut juste effectuer un contrôle supplémentaire à chaque fois qu'un nombre est candidat à faire partie d'une telle suite : tu refais une boucle cherchant ce nombre + ou - 9; si tu trouves, tu continues, sinon, ta suite est cassée.

    Tu peux aussi faire un préprocess qui parcourt ta liste et supprime tous les éléments qui ne sont pas égaux à un autre nombre de la liste + ou - 9, puis effectuer une recherche de nombres consécutifs normal après.

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    trouver des chaînes de nombres qui se suivent on sait.

    Mais il faudrait mieux expliquer la suite, c'est pas clair du tout.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

Discussions similaires

  1. trouver la plus grande occurence d'un tableau
    Par tiboo dans le forum Langage
    Réponses: 2
    Dernier message: 20/04/2007, 13h54
  2. Trouver le plus petit nombre
    Par IDE dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 22/10/2006, 09h36
  3. Plus grand nombre possible
    Par lia dans le forum C++
    Réponses: 2
    Dernier message: 30/08/2006, 11h22
  4. Plus simple si possible la gestion des dates!
    Par kenny49 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 29/06/2006, 16h52

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