Code morse

Fermé
Super Lux Messages postés 25 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 11 juillet 2012 - 30 janv. 2009 à 15:44
 pujada - 31 janv. 2009 à 10:08
Bonjour,
Svp jai un problems au niveau de traduire un message codé ( code mors) en phrase
beh je taravaille sur language Visual Basic 2008 (console)
aidez moi svp
voila mon travail ..
Sub message()
Dim t1() As Char = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ".", " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Dim t2() As String = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", ".-.-.", ".-.-.-", "---...", "-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."}
Dim mesg As String
Dim yas As String
Dim i, j As Integer
yas = Nothing
Console.Write(" saisi le message code : ")
mesg = Console.ReadLine

For j = 0 To t2.Length - 1
For i = 0 To mesg.Length - 1

If t2(j) = mesg.Chars(i) Then
yas = yas & t1(j)
End If
Next
Next
Console.Write(yas)

Console.ReadLine()
End Sub

End Module
A voir également:

6 réponses

Sub message()
Dim t1() As Char = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", ".", " ", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Dim t2() As String = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", ".-.-.", ".-.-.-", "---...", "-----", ".----", "..---", "...--", "....-", ".....", "-....", "--...", "---..", "----."}
Dim mesg As String
Dim yas As String
Dim i, j As Integer
Dim flagNonTrouve as boolean
yas = Nothing
Console.Write(" saisi le message code : ")
mesg = Console.ReadLine


For i = 0 To mesg.Length - 1 ' OK ici tu utilises mesg.Length car tu sais pas combien de caractère seront entrés

flagNonTrouve = false
For j = 0 To 39 ' mais ici tu sais que tu n'a que 39 éléments dans ta table t1

If mesg.Chars(i)=t1(j) Then ' tu compares chaque caractère saisi avec la table t1 et non la t2
flagNonTrouve = True
yas = yas & t2(j) ' et quand tu l'as trouvé, là tu récuperes du table t2, selon l'indice j
End If
Next

if flagNonTrouve =false then
yas = yas & " " ' cas où il ne trouve pas la correspondance
end if

Next

Console.Write(yas)

Console.ReadLine()
End Sub

End Module
2
Super Lux Messages postés 25 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 11 juillet 2012
30 janv. 2009 à 15:56
Merci Mon Frére :p
0
Super Lux Messages postés 25 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 11 juillet 2012
30 janv. 2009 à 16:01
beh moi je veu algorithme pour faire ce programe ... c pas c quoi code mors et merci
0
Super Lux Messages postés 25 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 11 juillet 2012
30 janv. 2009 à 16:07
..... aidez moi svp
0

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

Posez votre question
Super Lux Messages postés 25 Date d'inscription dimanche 19 octobre 2008 Statut Membre Dernière intervention 11 juillet 2012
30 janv. 2009 à 16:47
malgré ca march pas
0
Sur les liens cités précédemment, c'est du javascript, tu peux t'inspirer du code puisqu'il est dispo.

Sinon, je te file le meilleur traducteur en ligne : https://www.dcode.fr/code-morse il est capable de déchiffrer toutes les formes comme 011 01 0101 (si si c'est du morse)
0