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 :

bonjour,ca coince drolement !


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut bonjour,ca coince drolement !
    Bonjour,

    j'ai ecris un petit programme en C qui consiste à comparer une valeur entière n à une liste (tableau) et verifier que ce dernier se trouve ou non dans la liste
    je rencontre donc un probleme à l'execution de ce petit programme car pour la première valeur du tableau ca marche mais lorsque n vaut 2 ou 3 le programme me repond que ces valeurs ne sont pas dans la liste!!.
    Pourriez vous m'indiquez les modification à effectuer sur mon programme dont voici le contenu ;

    Encor merci à vous!!



    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
     
    int tab[3]={1,2,3}; 
     
    int i,n=0; 
     
    printf("choisir n:"); 
    scanf("%ld",&n); 
     
    for(i=0;i<3;)
    if(tab[i++] == n) 
    {
    printf("ce nombre est dans la liste!!"); 
    }
    else 
    {
    printf("ce nombre n'est pas dans la liste"); 
    }

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Jao,

    Regarde de plus près comment tu as défini ta boucle, et le test.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Par défaut
    ..mais cela ne marche toujours pas avec cette correction :

    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
     
    int tab[3]={1,2,3}; 
    int i,n=0; 
     
    printf("choisir n:"); 
    scanf("%ld",&n); 
     
    for(i=0;i<3;i++)
    if(tab[i++] == n) 
    {
    printf("ce nombre est dans la liste!!"); 
    }
    else 
    {
    printf("ce nombre n'est pas dans la liste"); 
    }

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    <...> moi je vois une erreur au niveau de l'affectation.
    Essayer pas-à-pas avec un débogueur

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    As-tu suivi tes cours ????

    Parce que là c'est du n'importe quoi....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i=0;i<3;i++)
      if(tab[i++] == n)
    ya pas quelque chose qui te choque là-dedans ?????

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Par défaut
    Citation Envoyé par flight
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for(i=0;i<3;i++)
    if(tab[i++] == n) 
    {
    printf("ce nombre est dans la liste!!"); 
    }
    else 
    {
    printf("ce nombre n'est pas dans la liste"); 
    }
    Ne manque-t-il pas aussi des accolades aussi pour ta boucle, par hasard?

  7. #7
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    el magnifico
    Ne manque-t-il pas aussi des accolades aussi pour ta boucle, par hasard?
    Non. D'ailleurs, il peut même enlever toutes les accolades. Par contre, il y a beaucoup de i++

  8. #8
    Membre éclairé Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Par défaut
    Je débute aussi mais je dirai..

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Par défaut
    Citation Envoyé par diogene
    el magnifico
    Non. D'ailleurs, il peut même enlever toutes les accolades. Par contre, il y a beaucoup de i++
    Je parlais d'accolades à ajouter au niveau du for, comme celle ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for(i=0;i<3;i++) 
    { // accolade supplémentaire
    if(tab[i++] == n)
    {
    printf("ce nombre est dans la liste!!"); 
    }
    else
    {
    printf("ce nombre n'est pas dans la liste"); 
    }
    }// accolade fermante correspondante
    Si non, pour quelle raison ne doit-on pas les mettre?

    Pour les accolades à enlever, je pense que tu proposes une solution comme ceci.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i=0;i<3;i++) 
    { // accolade supplémentaire
    if(tab[i++] == n) printf("ce nombre est dans la liste!!"); 
    else printf("ce nombre n'est pas dans la liste"); 
    }// accolade fermante correspondante

Discussions similaires

  1. Au revoir la Bioch, bonjour l'info!
    Par gege2061 dans le forum Etudes
    Réponses: 19
    Dernier message: 29/04/2005, 10h28
  2. [STRUTS] hello world, bonjour le monde
    Par Celina dans le forum Struts 1
    Réponses: 3
    Dernier message: 19/04/2004, 15h41
  3. Ca coince déjà..
    Par SuperDindon dans le forum DirectX
    Réponses: 2
    Dernier message: 24/03/2004, 07h54
  4. Carré coincé !
    Par GLDavid dans le forum OpenGL
    Réponses: 3
    Dernier message: 11/02/2004, 10h00
  5. Disquette Boot avec message "Bonjour !"
    Par gtr dans le forum x86 16-bits
    Réponses: 11
    Dernier message: 18/01/2003, 16h54

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