Probleme Langage C
Fermé
InTheHood
Messages postés
2
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
-
9 mars 2014 à 18:11
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 mars 2014 à 19:15
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 mars 2014 à 19:15
A voir également:
- Probleme Langage C
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Débuter langage batch windows - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
9 mars 2014 à 18:38
9 mars 2014 à 18:38
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,
InTheHood
Messages postés
2
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
9 mars 2014
9 mars 2014 à 18:59
9 mars 2014 à 18:59
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 !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
9 mars 2014 à 19:15
9 mars 2014 à 19:15
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,