Probleme Langage C

InTheHood Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut à tous !
Je dois faire un programme en langage C qui dit qu'on doit vérifier si un entier entrée au clavier appartient à un tableau qu'on a créer (les valeurs du tableau c'est nous qu'on les rentres).
J'ai réussi à créer un tableau et à y entrer plusieurs valeur mais je ne sais pas comment vérifier si un entier entrée au clavier appartient a ce tableau, veuillez m'éclairer
Merci beaucoup !
A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Il suffit de faire une petite boucle for pour parcourir tous les éléments du tableau. Dès qu'il y a égalité avec le nombre saisi par l'utilisateur, c'est que l'élément se trouve dans le tableau.

N'hésite pas à poster le code que tu as déjà fait en tentant d'implémenter ce que j'ai dit si tu n'es pas sûr de toi. On te corrigera.
N'oublie pas d'utiliser la balise "code c" (liste déroulante situé à droite du bouton "souligné").

Cdlt,
0
InTheHood Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse, alors voila mon programme:
#include<stdio.h>
int main()
{

int i, N,tab[100],x;

printf("Entrer le nombre de case pour notre tableau : ");
scanf("%d",&N);

i=0;
while(i<N)
{
printf("Entrer valeur pour tableau : ");
scanf("%d",&tab[i]);
i++;
}

for(i=0;i<N;i++)
{
printf("%d ",tab[i]);
}
printf("\n");

for(i=0;i<N; i++)
{
printf("Entrer une valeur : ");
scanf("%d",&x);
}

for (i=0;i<N;i++)
{
if (x==tab[i])
{
printf("La valeur appartient x appartient au tableau");
}
else
{
printf("La valeur x n'appartient pas au tableau");
}

}

getchar();
getchar();


return 0;

}

Je compile, j'execute, et pour x je donne la valeur 4 (4 appartient à mon tableau) mais ca m'affiche "La valeur x n'appartient pas au tableau" et cela se répète plusieurs fois :s !
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Heureusement que j'ai dit d'utiliser la balise "code" situé à droite du bouton "souligne"...
printf("La valeur appartient x appartient au tableau");
Il faut mettre un '\n' à la fin de ce printf() et du dernier. Ou alors mettre un putchar('\n') pour forcer l'affichage avant le return 0; (si tu en veux pas, tu peux faire un fflush() sur la sortie).

for(i=0;i<N; i++)
{
printf("Entrer une valeur : ");
scanf("%d",&x);
}

Il faut entrer N fois une valeur ? En lisant ton énoncé, je comprends qu'après avoir défini ton tableau, l'utilisateur choisit un nombre (et un seul). Non ?
Si c'est bien ça qu'il faut le faire, il faut l'imbriquer dans le for suivant, sinon seule la dernière valeur saisie sera prise en compte.

for (i=0;i<N;i++)
{
if (x==tab[i])
{
printf("La valeur appartient x appartient au tableau");

Non c'est pas bon ça. Il faut parcourir tout le tableau avant de conclure que x appartient au tableau. Il faut par exemple définir une variable xPresent, l'initialiser à 0 et mettre 1, s'il y a une égalité. Le plus propre serait de faire une fonction.

Cdlt,
0