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 :

trouver nombre dans un tableau


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut trouver nombre dans un tableau
    Bonsoir

    Je doit faire un programme on je doit remplir un tableau à 3 lignes et 5 colonnes

    Une fois cela fait je dois saisir un nombre et mon programme doit me chercher et dire si oui ou non le nombre est dans le tableau. ( pour info je ne dois pas utiliser de sous programme ou de fonction )

    Voici mon programme

    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
    50
    51
    52
    53
    #include <iostream.h>
     
    int main ()
     
    {
    	const int t1=3,t2=5;
    	float tab[t1][t2],nbv;
    	int l,c;
    	bool trouve
     
    	cout<<" Remplir le tableau : ";
    	for (l=0;l<t1;l++)
    	{
    		for (c=0;c<t2;c++)
    		{
    			cin>>tab[l][c];
    		}
    	}
     
    	cout<<" Entrer un valeur a chercher en le tableau : ";
     
    	cin>>nbv;
     
        while (nbv!=tab[l][c])
        {
            for (l=0;l<t1;l++)
    	{
    		for (c=0;c<t2;c++)
    		{
    		if (nbv==tab[l][c])
            {
                trouve=true;
            }
            else 
            {
                trouve=false; 
            }
            }
    	}
        }
     
    	if (trouve=1)
    	{
    	cout<<" Le nombre "<<nbv<<" appartient au tableau ";
        }
        else
        {
    	 cout<<" Le nombre "<<nbv<<" n appartient pas au tableau ";
        }
      cin>>nbv;
      return 0;
     
    }
    J'arrive a saisir les valeurs pour les ranger dans mon tableau , mais je n'arrive pas a afficher 1 seul fois la phrase reponse " le nombre appartient ou n'appartient pas au tableau " . Une fois j'ai essayer et j'ai eu le bon résultat avec la phrase qui s'affiche a l'infini .

    Au second coup quand j'arrive à l'étape ou je dois taper le nombre à chercher . La phrase suivante s'affiche " entrer une valeur à chercher en le tableau " je tape le nombre et plus rien ne se passe.

    PS : le "cin" de la fin et le return sont la car je travail en int (mon compilateur ne lit pas les " void " .
    Dernière modification par koala01 ; 14/01/2011 à 23h30. Motif: ajout des balises [ CODE ], merci d'y penser à l'avenir

  2. #2
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    Salut
    le problème vient de ce que tu parcours tous les éléments de ton tableau
    alors même que la valeur recherchée est trouvée !!
    Ainsi "trouve" passe à true puis repasse à false à la prochaine itération .
    Faut que tu trouves un moyen de sortir de tes boucles lorsque "trouve" passe
    à true .
    Pour le vérifier entre la dernière valeur de ton tableau dans "nbv" .
    Elle va etre trouvée car c'est la dernière itération ...

  3. #3
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    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
    50
    51
    52
    53
    54
     
    #include <iostream.h>
     
    int main ()
     
    {
    const int t1=3,t2=5;
    float tab[t1][t2],nbv;
    int l,c;
    bool trouve
     
    cout<<" Remplir le tableau : ";
    for (l=0;l<t1;l++)
    {
    for (c=0;c<t2;c++)
    {
    cin>>tab[l][c];
    }
    }
     
    cout<<" Entrer un valeur a chercher en le tableau : ";
     
    cin>>nbv;
     
     
    for (l=0;l<t1;l++)
    {
        for (c=0;c<t2;c++)
        {
            if (nbv==tab[l][c])
            {
                trouve=true;
             }
           else
           {
                trouve=false;
           }    
            if(trouve) break;// sort de la boucle interne
        }
        if(trouve) break;// sort de la boucle externe
    }
     
    if (trouve=1)
    {
    cout<<" Le nombre "<<nbv<<" appartient au tableau ";
    }
    else
    {
    cout<<" Le nombre "<<nbv<<" n appartient pas au tableau ";
    }
    cin>>nbv;
    return 0;
     
    }
    Tu n'as pas besoin de WHILE()

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir

    Merci à vous pour vos tuyaux

    Voici ce que cela donne

    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
    #include <iostream.h>
     
    int main ()
     
    {
    	const int t1=3,t2=5;
    	float tab[t1][t2],nbv;
    	int l,c;
    	bool trouve;
     
    	cout<<" Remplir le tableau : ";
    	for (l=0;l<t1;l++)
    	{
    		for (c=0;c<t2;c++)
    		{
    			cin>>tab[l][c];
    		}
    	}
     
    	cout<<" Entrer un valeur a chercher en le tableau : ";
     
    	cin>>nbv;
     
        for (l=0;l<t1;l++)
    	{
    		for (c=0;c<t2;c++)
    		{
    		if (nbv==tab[l][c])
    		{
               trouve=true;
               break;
            }
     
            }
    	}
     
        if (trouve=false)
        {
        cout<<" Le nombre "<<nbv<<" appartient au tableau ";
        }
        else
        {
        cout<<" Le nombre "<<nbv<<" n appartient pas au tableau ";
        }
     
      cin>>nbv;
      return 0;
     
    }
    Je pensais mettre " trouve= false" au début , car à la fin j'ai un doute sur ma structure qui me dit que " trouve = false " avec une valeur qui est en le tableau

  5. #5
    Membre éclairé
    Avatar de exe2bin
    Profil pro
    Passionné de programmation
    Inscrit en
    Mars 2009
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Passionné de programmation

    Informations forums :
    Inscription : Mars 2009
    Messages : 537
    Billets dans le blog
    3
    Par défaut
    Bien sur c une bonne idée ; tu peux encore simplifier , l'essentiel dans un
    premier temps c que ton programme fonctionne comme tu le souhaites

  6. #6
    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
    Lai,

    Quand tu écris
    tu affectes la valeur false à trouve, tu ne fais pas le test que tu veux faire.

    Il faut écrire
    et de plus, tu affiches le mauvais message.

Discussions similaires

  1. Trouver élément dans un tableau
    Par Lorddolf dans le forum Ruby
    Réponses: 6
    Dernier message: 02/04/2011, 08h22
  2. Trouver un nombre dans un tableau avec une fonction
    Par neufrdb dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 27/03/2011, 16h33
  3. [MySQL] Multiplication de 2 nombres dans un tableau
    Par BertMont dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/05/2007, 17h48
  4. Charger et générer des nombres dans un tableau
    Par virtuadrack dans le forum C
    Réponses: 7
    Dernier message: 30/03/2007, 16h35
  5. Comparaison de nombre dans un tableau.
    Par slackjayo dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 29/04/2005, 17h21

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