Isoler deux chiffres d'une chaine de caractère

Signaler
Messages postés
8
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
9 février 2006
-
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
-
bonjour je souhaiterais isoler deux chiffres d'une chaine de caractère

vu que je suis noob

je me suis deja fait aider

voici le code



#include <stdio.h>

#include <stdlib.h>



int main(void)

{

int compte2;

int compte4;

int i;

char temp[99999999999999];



char saisie[464572813264597253724267295491273495729571975];





compte2=0;

compte4=0;

for(i=0;i<strlen(saisie);i++)

{

if (saisie[i]=='2')

compte2+=1;

if (saisie[i]=='4')

compte4+=1;



printf("Il y a %d fois le chiffre 2 et %d fois le chiffre 4",compte2,compte4);

}

return EXIT_SUCCESS;

}



il me reste 3 erreur un overflow(l11) pour les caractere j'ai rajouté le temp, change rien,

"strlen"(l16) et constant expression is not interal (l9)



merci de votre aide

10 réponses

Messages postés
8
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
9 février 2006

j'ai trouvé l'erreur ligne 9 j'ai mis 0
Messages postés
8
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
9 février 2006

en faites j'avais encore une erreur et je l'ai virer et je l'ai plus
Messages postés
8
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
9 février 2006

#include <stdio.h>

#include <stdlib.h>

#include <string.h>



int main(void)

{

int compte2;

int compte4;

int i;





char saisie[464572813264597253724267295491273495729571975];





compte2=0;

compte4=0;

for(i=0;i<strlen(saisie);i++)

{

if (saisie[i]=='2')

compte2+=1;

if (saisie[i]=='4')

compte4+=1;



}



printf("Il y a %d fois le chiffre 2 et %d fois le chiffre 4",compte2,compte4);



return EXIT_SUCCESS;





}



il ne reste plus qu'une erreur ligne 12 ( a la chaine de caractere mais je vois pas)
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

char saisie[x] alloue une chaine de caractere de taille x.
Si x vaut 464572813264597253724267295491273495729571975 !! T'aura jamais assez de memoire !!
essaye const char *saisie = "464572813264597253724267295491273495729571975";
la ca marchera ...
ensuite revoie les base du C parce que la j'ai pas le temps de te fare un cours ...
Messages postés
8
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
9 février 2006

ensuite revoie les base du C parce que la j'ai pas le temps de te fare un cours ...

j'ai dit je suis noob j'ai commencer ce matin a 8h ..... soit donc un peut indulgent



et

#include <stdio.h>

#include <stdlib.h>

#include <string.h>



int main(void)

{

int compte2;

int compte4;

int i;





const char *saisie ="464572813264597253724267295491273495729571975";





compte2=0;

compte4=0;

for(i=0;i<strlen(saisie);i++);

{

if (saisie[i]=='2')

compte2+=1;

if (saisie[i]=='4')

compte4+=1;



}



printf("Il y a %d fois le chiffre 2 et %d fois le chiffre 4",compte2,compte4);



return EXIT_SUCCESS;



}

ne marche toujours pas
Messages postés
106
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
11 février 2008

oops un truc que j'ai pas vu :
for(i=0;i<strlen(saisie);i++); --> enleve le point virgule sinon aucune instructions ne s'éxécutera a l'interieur de ta boucle "for"
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
int NbOccurence(char *sz, int iNbr)

{

char *c;

c = sz;

int iCount = 0;



if ( (iNbr < 0) || (iNbr > 9) )


return -1;



while(*c)

{

if ( *c == 48+iNbr )
iCount++;



c++;

}

return iCount;

}
if(!Meilleur("Joky")) return ERREUR;<
Messages postés
755
Date d'inscription
samedi 15 mai 2004
Statut
Membre
Dernière intervention
30 janvier 2011

perso j'utiliserai plus le programme de joky.
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Perso moi aussi lol
if(!Meilleur("Joky")) return ERREUR;<
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
N'empêche pour info

J'crois que je suis amoureux de cette ligne :

char saisie[464572813264597253724267295491273495729571975];

if(!Meilleur("Joky")) return ERREUR;<