Prendre chaque chiffre d'un int

minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 - 23 août 2004 à 14:13
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 24 août 2004 à 08:52
Bonjour tout le monde !
Voilà ma fonction :

int fonction(int binaire)
{
int variable = 0;
for(int i=0;i<=sizeof(binaire);i++)
{
binaire[i] += ......;
}
return variable;
}

int main(....... etc :-D

mon blème c'est qu'il met :
Invalid Inderiection sur la ligne binaire[i]...

Donc si qqu à la soluce merci !

37 réponses

minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:05
le prototype de ma fonction ???? ma fonction c'est ce que j'ai mis en haut, mais là n'es pas la question, je veu juste savoir comment on fait pour comparer le char avec un int, voilà !!!
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:09
le prototype de ta fonction c'est ca

int bin_dec(int binaire); t'aurais pas sauter quelques chapitres :D

ce que je comprend pas c'est que ta fonction prend en parametre un int et retourne un int, si tu veux formater ton nombre tu dois retourner une chaine de caractere
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:10
je rentre un int (code binaire!!!!) dans la fonction et ça retourne un int (le code decimal !!!)

pour la comparaison t'a pas d'idée???
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:15
"je rentre un int (code binaire!!!!) dans la fonction et ça retourne un int (le code decimal !!!)"

eu.. ya quelque chose que tu n'a pas compris, c'est quoi un int ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:17
ben un integer, un entier quoi !
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:20
mais quelle est sa representation memoire ?
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:21
désolé mais je suis un newbie !!!!!
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:26
ce que j'essaye de faire comprendr cc'est que ton probleme n'existe pas

"je rentre un int (code binaire!!!!) dans la fonction et ça retourne un int (le code decimal !!!)"

c'est dénué de sens

un int c'est un entier binaire, telle qu'il est vu et compris par le cpu

quand tu fais printf( "%d\n", n ); c'est juste une impression d'un entier au format decimal

tu veux faire quoi concretement ?
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:29
je veux faire un convertisseur binaire-decimal-hexadecimal
tu sais comme il y a dans la calculette de windows !!!!
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:31
alors utilise itoa
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:33
oui mais y a pas le plaisir de programmer avec des fonction toute faites !!! de plus itoa ne convertie pa du binaire en decimal je croi !
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:43
oui, pas en c standard

tu peux faire toi meme une fonction convertissant un binaire en decimale (les 2 seront des chaines de caracteres )
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
23 août 2004 à 23:44
mais c'est ce que j'essay de faire !!! seulement je plante au niveau de la comparaison !!!
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
23 août 2004 à 23:59
fais plutot comme ca

int *bin_dec( const char *bin)
{
int i = 0;
char c;

while( c = *bin++ )
{
if( c == '1' ) i++;
i <<= 1;
}
i >>= 1;
return i;
}
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
24 août 2004 à 00:05
je ne comprend pas ton code !
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
24 août 2004 à 08:50
ben ca convertie une chaine "0101110110" en entier, c'est ce que tu veux non ? (sans doute, le tout c'est d'avoir compris ca)

par exemple

printf( "%d\n", bin_dec( "100101" ) ); // affiche 37
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
24 août 2004 à 08:52
j'ai oublié, c'est

int bin_dec( const char *bin)

et pas

int *bin_dec( const char *bin)
0
Rejoignez-nous