Pb programme en language C
Fermé
TheFUllMetal
Messages postés
1
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
10 octobre 2008
-
10 oct. 2008 à 17:07
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 13 oct. 2008 à 21:24
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 - 13 oct. 2008 à 21:24
A voir également:
- Pb programme en language C
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Mettre en veille un programme - Guide
- Programme démarrage windows 10 - Guide
- Forcer la fermeture d'un programme - Guide
9 réponses
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
13 oct. 2008 à 21:24
13 oct. 2008 à 21:24
salut,
Ben si tu recup un int dans ta variable, %d est le code de conversion....
je connais pas %i...
Ben si tu recup un int dans ta variable, %d est le code de conversion....
je connais pas %i...
Bonjour
Je n'ai pas tou lu, mais ça commence mal ...
while ( t[i]!=1 || t[i]!=0 || t[i]!=2 );
ce while est toujours vrai ! il faudrait que t[i] soit égal à la fois à 0, à 1 et à 2 pour terminer ta boucle
Je n'ai pas tou lu, mais ça commence mal ...
while ( t[i]!=1 || t[i]!=0 || t[i]!=2 );
ce while est toujours vrai ! il faudrait que t[i] soit égal à la fois à 0, à 1 et à 2 pour terminer ta boucle
@fiddy
Merci pour ta réponse.
Je viens de tester le programme malheureusement il ne marche tj pas.
Si dans mon tableau je rentre 3 ou 4 le prog continue et il ne s'arrête pas au bout des 20 entiers :( .
Merci pour ta réponse.
Je viens de tester le programme malheureusement il ne marche tj pas.
Si dans mon tableau je rentre 3 ou 4 le prog continue et il ne s'arrête pas au bout des 20 entiers :( .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
13 oct. 2008 à 16:49
13 oct. 2008 à 16:49
Bah, c'est normal. Tu dois rentrer que des 0 1 et 2 dans le tableau. Si tu tapes autre chose, on te redemande d'en choisir un ;)
merci chuka pour l'aide je test sa demain et je te dit quois
PS: pourquoi mes-tu "%d " et non "%i " ?
PS: pourquoi mes-tu "%d " et non "%i " ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
10 oct. 2008 à 17:35
10 oct. 2008 à 17:35
Salut
Essaie
Cdt
Essaie
#include <stdio.h> #include <stdlib.h> //TD2 EXO1 tableau de 0,1 ou 2 void saisie (int t[20]) { int i; for (i=0 ; i<20 ;i++) { do{ printf (" entrez entiers n° %i\n ", i+1); scanf ("%i",&t[i]); } while ( t[i]!=1 && t[i]!=0 && t[i]!=2 ); } } void affiche ( int t[20] ){ int i; for (i=0 ; i<20 ;i++) { printf ("%i\n",t[i]); } } float calcul ( int t[20],int chiffre ){ int i; int v=0; for (i=0 ; i<20 ;i++) { if (t[i]==chiffre) v++; } return v; } void permut (int tab[20], int nb1,int nb2) { int i; for (i=0 ; i<20 ;i++) { if (tab[i]==nb1) tab[i]=nb2; else if (tab[i]==nb2) tab[i]=nb1; } } int main(void) { int i; int t[20]; int nb1; int nb2; saisie(t); affiche(t); nb1=calcul(t,0); nb2=calcul(t,1); printf("le nombre de 0 est %i\n",nb1); printf("le nombre de 1 est %i\n",nb2); permut(t,0,1); nb1=calcul(t,0); nb2=calcul(t,1); printf("le nombre de 0 est %i\n",nb1); printf("le nombre de 1 est %i\n",nb2); return 0; }
Cdt
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
13 oct. 2008 à 16:52
13 oct. 2008 à 16:52
salut,
essaie cela:
void saisie (int *t)
{
int i;
int j;
for (i=0 ; i<20 ;i++)
{
printf (" entrez entiers n° %d\n ",i);
scanf ("%d",&t[i]);
if ( t[i]==1 || t[i]==0 || t[i]==2 ) break;
}
}
essaie cela:
void saisie (int *t)
{
int i;
int j;
for (i=0 ; i<20 ;i++)
{
printf (" entrez entiers n° %d\n ",i);
scanf ("%d",&t[i]);
if ( t[i]==1 || t[i]==0 || t[i]==2 ) break;
}
}
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
13 oct. 2008 à 16:54
13 oct. 2008 à 16:54
oups..pardon c'est pas == mais !=
dsl...
dsl...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
13 oct. 2008 à 17:11
13 oct. 2008 à 17:11
Oui et en plus ce sont des && ;)
Cdt
Cdt
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
13 oct. 2008 à 17:16
13 oct. 2008 à 17:16
ca devrait resoudre le prb....dsl...
void saisie (int *t)
{
int i;
int j;
for (i=0 ; i<20 ;i++)
{
do{
printf (" entrez entiers n° %d\n ",i);
scanf ("%d",&t[i]);
if(t[i]>=0 && t[i]<=2) break;}
while(i) ;
}
}
void saisie (int *t)
{
int i;
int j;
for (i=0 ; i<20 ;i++)
{
do{
printf (" entrez entiers n° %d\n ",i);
scanf ("%d",&t[i]);
if(t[i]>=0 && t[i]<=2) break;}
while(i) ;
}
}