Advertisement
JulianJulianov

17.TextProcessingMoreExercise-Morse Code Translator

Apr 25th, 2020
659
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.26 KB | None | 0 0
  1. 04. Morse Code Translator
  2. Write a program that translates messages from Morse code to English (capital letters). Use this page   https://morsecode.world/international/morse2.html to help you (without the numbers). The words will be separated by a space (' '). There will be a '|' character which you should replace with ' ' (space).
  3. Example
  4. Input                                                                                          Output
  5. .. | -- .- -.. . |  -.-- --- ..- | .-- .-. .. - . | .- | .-.. --- -. --. | -.-. --- -.. .      I MADE YOU WRITE A LONG CODE
  6. .. | .... --- .--. . | -.-- --- ..- | .- .-. . | -. --- - | -- .- -..                          I HOPE YOU ARE NOT MAD
  7.  
  8. using System;
  9.                    
  10. public class Program
  11. {
  12.     public static void Main()
  13.     {
  14.         var morseCode = Console.ReadLine().Split(" | ");
  15.             var capitalLettersMorseCode = new[] {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---",
  16.                 "-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
  17.             var translator = "";
  18.             foreach (var words in morseCode)
  19.             {
  20.                 var letter = words.Split(" ", StringSplitOptions.RemoveEmptyEntries);
  21.                 var counterLetters = 0;
  22.  
  23.                 for (int i = 0; i < letter.Length; i++)
  24.                 {
  25.                     foreach (var morseSymbols in capitalLettersMorseCode)
  26.                     {
  27.                         if (letter[i] == morseSymbols)
  28.                         {
  29.                             if (letter.Length >= i)
  30.                             {
  31.                                 translator += (char)(65 + counterLetters);
  32.                                 counterLetters = 0;
  33.                             }
  34.                             if (letter.Length == i + 1)
  35.                             {
  36.                                 translator += ' ';
  37.                                 break;
  38.                             }
  39.                             if (letter.Length > i)
  40.                             {
  41.                                 break;
  42.                             }
  43.                         }
  44.                         counterLetters++;
  45.                     }
  46.                 }
  47.             }
  48.             Console.WriteLine(translator);
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement