Wikipedista:Luhačovice 2021

Převodník do/z Morseovky v C#

using System;

namespace x30x12x2021
{
    internal class Program
    {
        static void Main()
        {
            while (true)
            {
                Console.WriteLine("Zadejte text určený pro převod:");
                string line = Console.ReadLine();
                if (string.IsNullOrEmpty(line)) break;
                else
                {
                    Console.WriteLine();

                    if (line[0] == '.' || line[0] == '-') //detekce jestli je zadáním Morseovka
                    {
                        string[] vs = line.Split(' ', StringSplitOptions.RemoveEmptyEntries); //mezerami oddělené Morseovy kódy

                        for (int i = 0; i < vs.Length; i++)
                        {
                            Console.Write(Morse.DecodeMorseCode(vs[i]));
                        }
                    }
                    else //zadání nejsou Morseovy kódy, takže se bude kódovat text do Morseovky
                    {
                        for (int i = 0; i < line.Length; i++)
                        {
                            Console.Write(Morse.EncodeToMorseCode(line[i]));
                            Console.Write(" "); //oddělovač kódu
                        }
                    }

                    Console.WriteLine();
                }
            }
        }
    }

    static class Morse
    {
        #region ONLY READ
        private static readonly string[,] MorseCodes = new string[,]
            {
                {"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" , "----."}
            };
        #endregion
        public static string EncodeToMorseCode(char c)
        {
            var uc = char.ToUpper(c);
            int len = MorseCodes.GetLength(0);
            for (int i = 0; i < len; i++)
            {
                if (uc == MorseCodes[i, 0][0]) return MorseCodes[i, 1];
            }
            return uc.ToString();
        }

        public static string DecodeMorseCode(string m)
        {
            int len = MorseCodes.GetLength(0);
            for (int i = 0; i < len; i++)
            {
                if (m == MorseCodes[i, 1]) return MorseCodes[i, 0];
            }
            return "?";
        }
    }
}

Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Wikipedista:Luhačovice_2021
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.