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 -
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 !
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:
- Probleme Langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage visual basic - Télécharger - Langages
- Langage basic gratuit - Télécharger - Édition & Programmation
2 réponses
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,
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,
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 !
#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 !
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,
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,