mad_love_disease
Messages postés64Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 1 juillet 20103 10 oct. 2006 à 16:52
Yo cobra176,
pourtant tu es très bien partit. Tu as d'un coté une table de traduction que tu as appelé morse, et de l'autre une phrase à traduire. il est vrai que c'est plus compliqué d'aller du morse à l'alphabet. Fait d'abord l'inverse, une phrase en français en morse, puis tente l'inverse. passe du morse en français, la je t'aiderai (si je le peux bien sur....)
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 10 oct. 2006 à 18:20
Pour info, "char phrase" veut dire que "phrase" est un caractère, et non pas une chaine de caractères.
par exemple, si tu veux une chaine de 250 caractères, il te faudra déclarer phrase comme ceci:
char phrase[251]; /* +1 pour ne pas oublier le caractère de fin de chaine */
Une fois que tu auras récupérer la chaine saisie par l'utilisateur, tu la parcours et, pour chaque lettre, tu vas chercher le code morse correspondant.
Bon courage
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
goutbouyo
Messages postés429Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention12 janvier 2008 10 oct. 2006 à 18:24
Moi je ferais comme ça:
Du français vers le morse : pour chaque lettre du mot (phrase[0], phrase[1], ...) tu cherches l'équivalent en morse dans ta table.
Du morse vers le français : je suppose qu'il y a un espace entre chaque symbole morse représentant une lettre, donc tu parses la chaine phrase en fonction des espaces et ensuite tu convertis les lettres morse en français.
<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 11 oct. 2006 à 00:43
Une idée pour t'aider!
Je pense que tu devrai rajouter le nombre de caractére de chaque signe morse!
Ensuite récupère le nombre de caractère entré pour la phrase a convertir(pour les boucles a faire (avec for(int a=0....)
Tu fait une première boucle sur la chaine entrée,pour calculer la taille du "char" qui te servira a afficher ta conversion(ex: a=2,b=4...)
Tu créé le "char"
(ex:
char *Texte_traduit;
Texte_traduit= new char[nb_carac];
)
la deuxième boucle effectue la copie de chaque "carmorse" vers Texte_traduit.
Grace à strcpy et strcat.
Voilà j'éspère t'avoir mis sur la voie et surtout été compréhensible.
@++
mad_love_disease
Messages postés64Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 1 juillet 20103 11 oct. 2006 à 09:17
Ils ont tous raisons sur les points de syntaxe, quant à la traduction du morse vers le Français, un problème peut se poser.
Si des espaces séparent les séquences de tirets et de points tu pourra facilement faire la traduction à l'inverse. Si ce n'est pas le cas, alors la traduction ne me semble pas possible
Exemple:
tu as la chaine TE et la chaine N
la traduction en morse te donne -. pour TE
ainsi que -. pour N
si tu as la code morse -. a traduire, vas tu choisir N ou TE? Tu as besoins des expaces.....
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 11 oct. 2006 à 09:55
tibob51> Que Nenni! T'en foutrait moi des boucles pour convertir une chaine!! Bonjour les perfo!
Bon, plus sérieusement, je ne vois pas les problèmes qu'il peut y avoir...si on fixe des hypothèses:
- pour la chaine morse, il faut impérativement des séparateurs entre chaque "lettre"
- il faut une chaine de caractères de référence: "abcdef...."
- il faut une chaine de "caractères morses" de référence, changée dans le même ordre que le précédent
Pour le passage ASCII->Morse:
- parcourir la chaine saisie par l'utilisateur à l'aide d'un pointeur
- si la variable pointée par le pointeur est différente du caractère de fin de chaine, mettre dans la chaine de sortie le caractère morse correspondant au caractère pointé
Pour le passage Morse->ASCII:
- parcourir la chaine saisie par l'utilisateur à l'aide de 2 pointeurs (un pour le début de caractère, un pour la fin)
- init: positionner les 2 pointeurs au début de la chaine saisie
- step:
- déplacer le 2nd pointeur jusqu'à rencontrer un séparateur ou le caractère de fin de chaine
- rechercher, dans la référence morse, l'index de la chaine se trouvant entre les 2 pointeurs
- copier dans la chaine de sortie le caractère ASCII correspondant
- déplacer le 1er pointeur au début du caractère suivant
J'espère que j'ai été clair, et que je n'ai pas fait de faute. Perso, c'est comme ça que je ferais.
Bon courage...
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
tibob51
Messages postés268Date d'inscriptionvendredi 30 avril 2004StatutMembreDernière intervention13 mai 20132 14 oct. 2006 à 22:32
buno>Ben j'ai donné une version qui est plus adaptée en mode fenétré,c'est a dire je créé ma variable pour l'afficher ensuite dans un label ou ce que tu veux (je dois donc connaitre sa taille)d'où la première boucle, puis la deuxième pour ecrire dedans.
Sinon sur qu'en mode console ya qu'a faire faire afficher les carractères correspondants.
cs_Matt67
Messages postés549Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 6 mars 20103 16 oct. 2006 à 21:05
Bonsoir,
Ben alors cobra176, j'ai l'impression que tu as posé une question et que tu te contrefiches royalement des réponses apportées...
Un "Ok, merci pour vos réponses", pas pour la mienne car c'était une question, mais pour les autres intervenants ou alors, "c'est bon, j'ai trouvé" ou bien répondre aux questions qui t'ont été posées pour t'aider ... Ca serait un minimum.
gregou9
Messages postés44Date d'inscriptionjeudi 16 mars 2006StatutMembreDernière intervention19 décembre 20131 23 oct. 2006 à 17:34
alors deja merci a cobra176 davoir mis ce sujet sur le forum pkil ma servi g le mm exo a faire en c é jétai bloké pr laffichage de la traduction. bref moi g un pti pb g fai com lui la declaration de mon tableau de structure (et com vs lavez indiké) sauf kil me met une erreur : "two or more data types in declaration of 'tabmorse' " (tabmorse etant le nom de mon tableau de structure)
merci davance pr les reponses ki y seront apportées!