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
A voir également:
- Aide ! ca coince drolement
- Comment enlever un bout de chargeur coincé dans la prise - Forum Mobile
- Comment enlever un bout de chargeur coincé dans le téléphone - Forum Téléphones & tablettes Android
- Cd coincé dans chaine hifi - Forum Enceintes / HiFi
- Couvercle extracteur de jus coincé - Forum Consommation & Internet
- Mon tiroir de tour ne s'ouvre plus. Que faire ? - Forum Matériel & Système
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
essaie
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
essaie
int 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");
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
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?
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...
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...
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");
}
J'ai test ton programme ça marche chez moi !
Avec 1, 2 et 3