1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string t[] = { "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Å", "Ä", "Ö" };
string m[] = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..",
".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-",
"...-", ".--", "-..-", "-.--", "--..", ".--.-", ".-.-", "---." };
string MorseTillText(string morse)
{
string temp;
string text = "";
for(int i = 0; i < morse.length(); i++)
{
while(morse[i] != " ")
temp.append(morse[i]);
if(temp == " ")
text += " ";
text += t[temp - m[0]];
}
return text;
}
int main()
{
stringstream sStream;
string text;
getline(cin, text);
sStream << text;
cout << "Morse: ";
while(sStream >> text)
cout << MorseTillText(text);
}
|