莫尔斯电码实现
摩尔斯电码是一种将文本信息传输为一系列开关音调、灯光或咔嗒声的方法,熟练的听众或观察者无需特殊设备即可直接理解这些信息。它以电报的发明者塞缪尔·FB·莫尔斯命名。
算法非常简单。英语中的每个字符都由一系列“点”和“破折号”或有时只是单数“点”或“破折号”代替,反之亦然。
每个文本字符串都被转换为一系列点和破折号。为此,每个字符都被转换为其摩尔斯电码并附加在编码信息中。在这里,我们照原样复制了空间。我们已经考虑了数字和字母。
例子:
Input : geeksforgeeks
Output : --...-.-.....-.---.-.--...-.-...
Input : program
Output : .--..-.-----..-..---
C++
// CPP program to demonstrate Morse code
#include
using namespace std;
// function to encode a alphabet as
// Morse code
string morseEncode(char x)
{
// refer to the Morse table
// image attached in the article
switch (x) {
case 'a':
return ".-";
case 'b':
return "-...";
case 'c':
return "-.-.";
case 'd':
return "-..";
case 'e':
return ".";
case 'f':
return "..-.";
case 'g':
return "--.";
case 'h':
return "....";
case 'i':
return "..";
case 'j':
return ".---";
case 'k':
return "-.-";
case 'l':
return ".-..";
case 'm':
return "--";
case 'n':
return "-.";
case 'o':
return "---";
case 'p':
return ".--.";
case 'q':
return "--.-";
case 'r':
return ".-.";
case 's':
return "...";
case 't':
return "-";
case 'u':
return "..-";
case 'v':
return "...-";
case 'w':
return ".--";
case 'x':
return "-..-";
case 'y':
return "-.--";
case 'z':
return "--..";
case '1':
return ".----";
case '2':
return "..---";
case '3':
return "...--";
case '4':
return "....-";
case '5':
return ".....";
case '6':
return "-....";
case '7':
return "--...";
case '8':
return "---..";
case '9':
return "----.";
case '0':
return "-----";
default:
cerr << "Found invalid character: " << x << ' '
<< std::endl;
exit(0);
}
}
void morseCode(string s)
{
// character by character print
// Morse code
for (int i = 0; s[i]; i++)
cout << morseEncode(s[i]);
cout << endl;
}
// Driver's code
int main()
{
string s = "geeksforgeeks";
morseCode(s);
return 0;
}
Java
// Java program to demonstrate Morse code
class GFG
{
// function to encode a alphabet as
// Morse code
static String morseEncode(char x)
{
// refer to the Morse table
// image attached in the article
switch (x)
{
case 'a':
return ".-";
case 'b':
return "-...";
case 'c':
return "-.-.";
case 'd':
return "-..";
case 'e':
return ".";
case 'f':
return "..-.";
case 'g':
return "--.";
case 'h':
return "....";
case 'i':
return "..";
case 'j':
return ".---";
case 'k':
return "-.-";
case 'l':
return ".-..";
case 'm':
return "--";
case 'n':
return "-.";
case 'o':
return "---";
case 'p':
return ".--.";
case 'q':
return "--.-";
case 'r':
return ".-.";
case 's':
return "...";
case 't':
return "-";
case 'u':
return "..-";
case 'v':
return "...-";
case 'w':
return ".--";
case 'x':
return "-..-";
case 'y':
return "-.--";
// for space
case 'z':
return "--..";
case '1':
return ".----";
case '2':
return "..---";
case '3':
return "...--";
case '4':
return "....-";
case '5':
return ".....";
case '6':
return "-....";
case '7':
return "--...";
case '8':
return "---..";
case '9':
return "----.";
case '0':
return "-----";
}
return "";
}
static void morseCode(String s)
{
// character by character print
// Morse code
for (int i = 0;i
Python 3
# Python3 program to demonstrate Morse code
# function to encode a alphabet as
# Morse code
def morseEncode(x):
# refer to the Morse table
# image attached in the article
if x is 'a':
return ".-"
elif x is 'b':
return "-..."
elif x is 'c':
return "-.-."
elif x is 'd':
return "-.."
elif x is 'e':
return "."
elif x is 'f':
return "..-."
elif x is 'g':
return "--."
elif x is 'h':
return "...."
elif x is 'i':
return ".."
elif x is 'j':
return ".---"
elif x is 'k':
return "-.-"
elif x is 'l':
return ".-.."
elif x is 'm':
return "--"
elif x is 'n':
return "-."
elif x is 'o':
return "---"
elif x is 'p':
return ".--."
elif x is 'q':
return "--.-"
elif x is 'r':
return ".-."
elif x is 's':
return "..."
elif x is 't':
return "-"
elif x is 'u':
return "..-"
elif x is 'v':
return "...-"
elif x is 'w':
return ".--"
elif x is 'x':
return "-..-"
elif x is 'y':
return "-.--"
elif x is 'z':
return "--.."
elif x is '1':
return ".----";
elif x is '2':
return "..---";
elif x is '3':
return "...--";
elif x is '4':
return "....-";
elif x is '5':
return ".....";
elif x is '6':
return "-....";
elif x is '7':
return "--...";
elif x is '8':
return "---..";
elif x is '9':
return "----.";
elif x is '0':
return "-----";
# character by character print
# Morse code
def morseCode(s):
for character in s:
print(morseEncode(character), end = "")
# Driver Code
if __name__ == "__main__":
s = "geeksforgeeks"
morseCode(s)
# This code is contributed
# by Vivek Kumar Singh
C#
// C# program to demonstrate Morse code
using System;
class GFG
{
// function to encode a alphabet as
// Morse code
static string morseEncode(char x)
{
// refer to the Morse table
// image attached in the article
switch (x)
{
case 'a':
return ".-";
case 'b':
return "-...";
case 'c':
return "-.-.";
case 'd':
return "-..";
case 'e':
return ".";
case 'f':
return "..-.";
case 'g':
return "--.";
case 'h':
return "....";
case 'i':
return "..";
case 'j':
return ".---";
case 'k':
return "-.-";
case 'l':
return ".-..";
case 'm':
return "--";
case 'n':
return "-.";
case 'o':
return "---";
case 'p':
return ".--.";
case 'q':
return "--.-";
case 'r':
return ".-.";
case 's':
return "...";
case 't':
return "-";
case 'u':
return "..-";
case 'v':
return "...-";
case 'w':
return ".--";
case 'x':
return "-..-";
case 'y':
return "-.--";
// for space
case 'z':
return "--..";
case '1':
return ".----";
case '2':
return "..---";
case '3':
return "...--";
case '4':
return "....-";
case '5':
return ".....";
case '6':
return "-....";
case '7':
return "--...";
case '8':
return "---..";
case '9':
return "----.";
case '0':
return "-----";
}
return "";
}
static void morseCode(string s)
{
// character by character print
// Morse code
for (int i = 0;i
PHP
输出:
--...-.-.....-.---.-.--...-.-...