Aide ! ca coince drolement
flight7218
Messages postés
13
Statut
Membre
-
Stupeflip Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
Stupeflip Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
Bonjour
j'ai commencé un petit bout de programme , il s'agit de comparer un entier choisi à une liste (tableau) , voici mon programme:
int tab[3]={1,2,3};
int i=0,n=0;
printf("choisir n:");
scanf("%ld",&n);
if(tab[i++]==n)
{
printf("ce nombre est dans la liste!!");
}
else
{
printf("ce nombre n'est pas dans la liste");
}
lorsque n=1 ca marche , mais par pour n=2 ou 3
Pourriez vous m'indiquer les corrections à apporter à mon programme pour qu'il fonctionne ?
Merci infiniment à vous
j'ai commencé un petit bout de programme , il s'agit de comparer un entier choisi à une liste (tableau) , voici mon programme:
int tab[3]={1,2,3};
int i=0,n=0;
printf("choisir n:");
scanf("%ld",&n);
if(tab[i++]==n)
{
printf("ce nombre est dans la liste!!");
}
else
{
printf("ce nombre n'est pas dans la liste");
}
lorsque n=1 ca marche , mais par pour n=2 ou 3
Pourriez vous m'indiquer les corrections à apporter à mon programme pour qu'il fonctionne ?
Merci infiniment à vous
Configuration: Windows XP Internet Explorer 7.0
5 réponses
-
Salut,
tu ne boucle pas sur les éléments de tableau
tu testes tab[0] et tu incrémente le i
if (tab[i++] == n)
et équivalent à
if (tab[i] == n)
++i;
et comme i est initialiser à 0 tu ne teste que le 1er élément du tableau
essaieint 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");ou pour utiliser ta notationint 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");
-
Merci pour tes reponses , mais apparement le test ne fonctionne toujours pas pour les autres valeurs du tableau.
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");
} -
-
-
-
-
Ca sera mieux de nous montrer ce que tu fait.
-
J'ai juste repris le code en <2>
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!!\n"); } else { printf("ce nombre n'est pas dans la liste\n"); }Et j'ai testé pour 1, 2 et 3.
-
-
-
désolé à la compilation du code produit par Stupflipe ca donne:
j'ai pour n=1:
ce nombre est dans la liste!!
ce nombre n'est pas dans la liste.
ne nombre n'est pas dans la liste
appuyer sur une touche pour continuer
pour n=2
ce nombre n'est pas dans la liste
ce nombre est dans la liste!!
ce nombre n'est pas ans la liste
appuyer sur une touche pour continuer
pour n=3:
ce nombre est dans la liste!!
ce nombre est dans la liste!!
ce nombre n'est pas dans la liste.
j'arrive pas à comprendre d'ou viennent ces reponses
merci si vous pouvez m'aider à debloquer la situation
flight
-
-
Salut,
c'est ça que tu veux?lami20j@debian:~/trash$ cat ccm.c #include <stdio.h> #define OUI 1 #define NON 0 int main () { int tab[3] = { 1, 2, 3 }; int i, n = 0; int test = NON; printf ("choisir n:"); scanf ("%d", &n); for (i = 0; i < 3;){ if (tab[i++] == n){ test = OUI; break; }else test = NON; } if (test == OUI) printf ("ce nombre est dans la liste\n"); else printf ("ce nombre n'est pas dans la liste\n"); return 0; } lami20j@debian:~/trash$ ./ccm choisir n:1 ce nombre est dans la liste lami20j@debian:~/trash$ ./ccm choisir n:2 ce nombre est dans la liste lami20j@debian:~/trash$ ./ccm choisir n:3 ce nombre est dans la liste lami20j@debian:~/trash$ ./ccm choisir n:4 ce nombre n'est pas dans la liste -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ah bah en effet c'est bizarre !! Surtout que moi j'obtiens bien :
pour n=1:
ce nombre est dans la liste!!
ce nombre n'est pas dans la liste.
ce nombre n'est pas dans la liste.
appuyer sur une touche pour continuer
pour n=2
ce nombre n'est pas dans la liste.
ce nombre est dans la liste!!
ce nombre n'est pas dans la liste.
appuyer sur une touche pour continuer
pour n=3:
ce nombre n'est pas dans la liste.
ce nombre n'est pas dans la liste.
ce nombre est dans la liste!!
appuyer sur une touche pour continuer
J'utilise Visual C++ 6.0 et j'ai compilé normalement. Voilà, si ça peut t'aider...