Morse X47779


Statement
 

pdf   zip   main.cc

html

Fes una funció amb la capçalera:

   string to_morse(string s, const map<char,string>& M);

que rep una paraula (s) i la passa al codi Morse. En aquest codi, cada lletra de la paraula es converteix en una seqüència de punts i ratlles. Per exemple, en Morse la lletra 'w' (un char) es tradueix com ".--" (un string).

Entrada

La funció rep una frase (amb caracters qualssevol) i un map que conté la correspondència entra cada caràcter Morse i la seqüència de punts i ratlles que el codifica. El map només conté com a claus lletres majúscules i dígits.

Sortida

Cal treure el missatge sencer en un string, és a dir, la concatenació de totes les traduccions a Morse de cada lletra, separats per un espai (i sense espai al final). Si una lletra és minúscula, s’ha de passar a majúscules abans de buscar-la al map. Si una lletra no es troba al map, s’ha d’ignorar (un cas típic són els espais).

Observació

No feu el programa principal. El Jutge utilitza el següent programa principal:

   map<char, string> M;
   M['A'] = ".-";   M['B'] = "-..."; M['C'] = "-.-."; M['D'] = "-..";
   M['E'] = ".";    M['F'] = "..-."; M['G'] = "--.";  M['H'] = "....";
   M['I'] = "..";   M['J'] = ".---"; M['K'] = "-.-";  M['L'] = ".-..";
   M['M'] = "--";   M['N'] = "-.";   M['O'] = "---";  M['P'] = ".--.";
   M['Q'] = "--.-"; M['R'] = ".-.";  M['S'] = "...";  M['T'] = "-";
   M['U'] = "..-";  M['V'] = "...-"; M['W'] = ".--";  M['X'] = "-..-";
   M['Y'] = "-.--"; M['Z'] = "--..";
   M['0'] = "------"; M['1'] = ".-----"; M['2'] = "..---"; M['3'] = "...--";
   M['4'] = "....-";  M['5'] = ".....";  M['6'] = "-...."; M['7'] = "--...";
   M['8'] = "---..";  M['9'] = "----.";

   string s;
   getline(cin, s);
   cout << '"' << to_morse(s, M) << '"' << endl;
Public test cases
  • Input

    SMS

    Output

    ... -- ...
    
  • Input

    Hawaii Bombai son 2 paraisos

    Output

    .... .- .-- .- .. .. -... --- -- -... .- .. ... --- -. ..--- .--. .- .-. .- .. ... --- ...
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Other languages
    Spanish
    Official solutions
    Unknown.
    User solutions
    C++