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

C Discussion :

probleme algo basique


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut probleme algo basique
    bonsoir,

    je rencontre un probleme avec un petit algo, je m'explique voici une serie de nombre :
    0, 1, 2, 6, 7, 8, 10, 11, 12, 16, 17, 18
    je voudrai trouver seulement des nbres qui se suivent et qui soustrait ou additionner a 5 soit egal a un nbre de la liste.

    ex; 0 -> 0+5 = 5 '5' n''appartient pas a la liste il n'est pas solution
    il faut que le nbre qui suit '0' soit une suite du nbre '0' pour etre verifie

    on continue avec 1 le chiffre qui le suit est 2 il se suive on peut verifier '1' -->1+5 = 6
    6 est dans la liste donc 1 est bien solution on le stocke , on continue avec 2 pas besoin de savoir si le nbre suivant est 3 puisque 1 est solution donc d'office 2 n'as pas besoin de verifier si le nbre a la suite est bien '3'
    donc on continue 2+5 = 7 ' 7' est bien ds la liste donc '2' est aussi solution.

    voila je pense avoir etait claire cette fois-ci
    voici mon code:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    int     main()
    {
      int   tab[50];
      int   n;
      int   *pos;
      int   i;
      int   j;
     
      pos = malloc(sizeof(int) * 1000);
      n = 0;
      i = 0;
      j = 0;
      tab[0] = 0;
      tab[1] = 1;
      tab[2] = 2;
      tab[3] = 6;
      tab[4] = 7;
      tab[5] = 8;
      tab[6] = 10;
      tab[7] = 11;
      tab[8] = 12;
      tab[9] = 16;
      tab[10] = 17;
      tab[11] = 18;
      while (j <= 11)
        {
          if (tab[i] == tab[i+1] - 1)
            {
              while (n <= 11)
                {
                  if (tab[i] + 5 == tab[n])
                    {
                      pos[i] = tab[i];
                      n++; }
                  else
                    n++;
                }
              n = 0;
              printf("valeur retenue : %d\n", tab[i]);
              i++;
            }
          else
            {
              i++;
              j++;
            }
        }
    }

  2. #2
    Membre expérimenté
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Par défaut
    je croi que c'est cette condition qui est pas bonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (tab[i] +5 == tab[n])
    tu devrai plutot comparer tab[i]+5 a tout tes tab...

    oops....j'ai dis une betise !
    oublie !

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut
    Citation Envoyé par kamouminator
    je croi que c'est cette condition qui est pas bonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (tab[i] +5 == tab[n])
    tu devrai plutot comparer tab[i]+5 a tout tes tab...
    justement c'est ce que je fait avec ma condition if?!

  4. #4
    Membre expérimenté
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Par défaut
    oui, dsl, j'avais pas fais attention au a la boucle qui incremente le n !

    je continue a regarder !

  5. #5
    Membre expérimenté
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Par défaut
    en fait t'as juste placé ton printf() au mauvais endroit ^^


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (tab[i] +5 == tab[n])
                    {
                      pos[i] = tab[i];
    	     printf("valeur retenue : %d\n", tab[i]);
                      n++; }

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 123
    Par défaut ok
    non plus, je pense avoir trouve d'ou vient le probleme en te lisant

Discussions similaires

  1. Probleme algo ou regex en java
    Par ox@na dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 24/06/2008, 20h52
  2. probleme Algo Min Max
    Par ishikawa dans le forum Développement 2D, 3D et Jeux
    Réponses: 2
    Dernier message: 20/04/2007, 10h02
  3. [Conception][Algo] Pb resolution d'un probleme au nivo algo
    Par cmoa59 dans le forum Général Java
    Réponses: 3
    Dernier message: 07/07/2005, 12h05
  4. [algo]probleme de variables hotes ds un insert
    Par omega dans le forum Langage SQL
    Réponses: 2
    Dernier message: 16/03/2004, 09h03

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