Chaine de caractere quelconque vers int en c
Résolu/Fermé
Eti38
Messages postés
55
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mars 2010
-
1 août 2008 à 13:15
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 - 1 août 2008 à 14:05
Eti38 Messages postés 55 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 16 mars 2010 - 1 août 2008 à 14:05
A voir également:
- Chaine de caractere quelconque vers int en c
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
8 réponses
Utilisateur anonyme
1 août 2008 à 13:20
1 août 2008 à 13:20
Ca parait difficile ton truc.
En quel integer convertiras-tu "Bonjour" ??
En quel integer convertiras-tu "Bonjour" ??
el_linwin
Messages postés
521
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
90
1 août 2008 à 13:21
1 août 2008 à 13:21
Bonjour Eti38,
Je ne comprends pas bien votre requête.
Comment envisagez-vous qu'une chaîne de caractères quelconque puisse être transformée en int ?
Si je prends le mot "Camion": quel 'int' voulez-vous en tirer ? "Camion" n'est pas un nombre...
Merci d'éclairer ma lanterne !
Cordialement,
el_linwin
Je ne comprends pas bien votre requête.
Comment envisagez-vous qu'une chaîne de caractères quelconque puisse être transformée en int ?
Si je prends le mot "Camion": quel 'int' voulez-vous en tirer ? "Camion" n'est pas un nombre...
Merci d'éclairer ma lanterne !
Cordialement,
el_linwin
Eti38
Messages postés
55
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mars 2010
2
1 août 2008 à 13:28
1 août 2008 à 13:28
Peut importe en verité:
Il me fallait faire correspondre a une chaine donnée un entier unique....
Mais c'est plus chaud qu'il n'y parais...
26 caractere(sans parler des / * - + . etc..)
cela donne sur N caractere :26puissanceN............
Rien que 7 caractere et cela ne rentre plus sur un int de 4 octet...........
Bref excusez moi je pense que je vais tenter autre chose pour résoudre mon prob....
Il me fallait faire correspondre a une chaine donnée un entier unique....
Mais c'est plus chaud qu'il n'y parais...
26 caractere(sans parler des / * - + . etc..)
cela donne sur N caractere :26puissanceN............
Rien que 7 caractere et cela ne rentre plus sur un int de 4 octet...........
Bref excusez moi je pense que je vais tenter autre chose pour résoudre mon prob....
el_linwin
Messages postés
521
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
90
1 août 2008 à 13:34
1 août 2008 à 13:34
Bonjour Eti38,
Dans ce cas, il suffit de déclarer un tableau de chaînes ainsi:
char liste_chaines[nombre_de_chaines][taille_maximum_de_chaine]
Note: nombre_de_chaines et taille_maximum_de_chaine sont des constantes.
Ensuite, pour chaque chaîne de caractères, vous vérifiez si elle est dans le tableau.
Si oui, son numéro sera l'indice dans le tableau.
Si non, elle est ajoutée. Son indice sera la "ligne" du tableau dans laquelle elle aura été stockée.
Cordialement,
el_linwin
Dans ce cas, il suffit de déclarer un tableau de chaînes ainsi:
char liste_chaines[nombre_de_chaines][taille_maximum_de_chaine]
Note: nombre_de_chaines et taille_maximum_de_chaine sont des constantes.
Ensuite, pour chaque chaîne de caractères, vous vérifiez si elle est dans le tableau.
Si oui, son numéro sera l'indice dans le tableau.
Si non, elle est ajoutée. Son indice sera la "ligne" du tableau dans laquelle elle aura été stockée.
Cordialement,
el_linwin
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Eti38
Messages postés
55
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mars 2010
2
1 août 2008 à 13:45
1 août 2008 à 13:45
Je comprend ce que tu écrit,
mais ce qui ne correspond pas , c'est que j'ignore quelle va être la chaine de caractere:
il faut donc que N'IMPORTE quel chaine puisse être codée sur un int.
On a vu qu'a partir de 7 caracteres on ne peut faire correspondre a une unique chaine un unique int:
C'est donc mathématiquement impossible....
Je crois ne pas avoir dit trop de betises..
mais ce qui ne correspond pas , c'est que j'ignore quelle va être la chaine de caractere:
il faut donc que N'IMPORTE quel chaine puisse être codée sur un int.
On a vu qu'a partir de 7 caracteres on ne peut faire correspondre a une unique chaine un unique int:
C'est donc mathématiquement impossible....
Je crois ne pas avoir dit trop de betises..
Bonjour
/!\ Ne pas oublier que chaque caractère est représentable par un nombre !
'integer' ou 'int' : Longueur de 4 octets, stocke les nombres de -2 147 483 648 à 2 147 483 647.
Recherche de 'string vers int entier' avec Google :
https://www.google.fr/search?hl=fr&q=string+vers+int+entier&gws_rd=ssl
Exemple : Sujet : Passage d'un string vers un int.... ou comment savoir si c possible
https://forum.hardware.fr/hfr/Programmation/Java/passage-comment-possible-sujet_91682_1.htm
Merci à tous et pour le retour d'information (donnes la solution choisie et expliques)
/!\ Ne pas oublier que chaque caractère est représentable par un nombre !
'integer' ou 'int' : Longueur de 4 octets, stocke les nombres de -2 147 483 648 à 2 147 483 647.
Recherche de 'string vers int entier' avec Google :
https://www.google.fr/search?hl=fr&q=string+vers+int+entier&gws_rd=ssl
Exemple : Sujet : Passage d'un string vers un int.... ou comment savoir si c possible
https://forum.hardware.fr/hfr/Programmation/Java/passage-comment-possible-sujet_91682_1.htm
Merci à tous et pour le retour d'information (donnes la solution choisie et expliques)
el_linwin
Messages postés
521
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
16 août 2008
90
1 août 2008 à 13:54
1 août 2008 à 13:54
Bonjour Eti38,
Si vous ne savez pas de quelle taille seront les chaînes, cette écriture est possible:
char liste_chaines[nombre_de_chaines][];
Ensuite, pour chaque chaînes, l'allocation se fera ainsi:
liste_chaines[indice]=(char *)malloc(sizeof(la_chaine));
Enfin, concernant la remarque: "On a vu qu'a partir de 7 caracteres on ne peut faire correspondre a une unique chaine un unique int: C'est donc mathématiquement impossible....", la mémoire de votre ordinateur n'est pas infinie non plus...
Pour atteindre le maximum, utilisez un 'unsigned long' pour l'indice: l'échelle va de 0 à +4294967295.
A ce niveau, seule la mémoire peut faire défaut !
Cordialement,
el_linwin
Si vous ne savez pas de quelle taille seront les chaînes, cette écriture est possible:
char liste_chaines[nombre_de_chaines][];
Ensuite, pour chaque chaînes, l'allocation se fera ainsi:
liste_chaines[indice]=(char *)malloc(sizeof(la_chaine));
Enfin, concernant la remarque: "On a vu qu'a partir de 7 caracteres on ne peut faire correspondre a une unique chaine un unique int: C'est donc mathématiquement impossible....", la mémoire de votre ordinateur n'est pas infinie non plus...
Pour atteindre le maximum, utilisez un 'unsigned long' pour l'indice: l'échelle va de 0 à +4294967295.
A ce niveau, seule la mémoire peut faire défaut !
Cordialement,
el_linwin
Eti38
Messages postés
55
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
16 mars 2010
2
1 août 2008 à 14:05
1 août 2008 à 14:05
Je pense que el_liwin a raison je vais faire quelquechose dans ce gout la.
merci beaucoup d'avoir pris le temp!!
merci beaucoup d'avoir pris le temp!!