Esempio n. 1
0
        public string esAnagrama()
        {
            if (Regex.IsMatch(Palabra1, @"[0-9]") || Regex.IsMatch(Palabra2, @"[0-9]"))
            {
                return("No Es Anagrama");
            }

            if (string.IsNullOrEmpty(Palabra1) || string.IsNullOrEmpty(Palabra2))
            {
                return("No Es Anagrama");
            }
            if (Palabra1 == Palabra2)
            {
                return("Es Anagrama");
            }
            var charMap = new Dictionary <char, int>();

            foreach (char c in Palabra1.Trim().ToLowerInvariant())
            {
                if (!char.IsLetterOrDigit(c))
                {
                    continue;
                }
                if (charMap.ContainsKey(c))
                {
                    charMap[c]++;
                }
                else
                {
                    charMap.Add(c, 1);
                }
            }

            foreach (char c in Palabra2.Trim().ToLowerInvariant())
            {
                if (!char.IsLetterOrDigit(c))
                {
                    continue;
                }

                if (!charMap.ContainsKey(c))
                {
                    return("No Es Anagrama");
                }
                if (--charMap[c] < 0)
                {
                    return("No Es Anagrama");
                }
            }

            foreach (int i in charMap.Values)
            {
                if (i != 0)
                {
                    return("No Es Anagrama");
                }
            }
            return("Es Anagrama");
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            string Palabra1;
            string Palabra2;

            Console.WriteLine("Ingrese una palabra"); // Ingreso de las palabras a comparar
            Palabra1 = Console.ReadLine();
            Console.WriteLine("Ingrese una segunda palabra");
            Palabra2 = Console.ReadLine();

            char[] charArray = Palabra2.ToCharArray();
            Array.Reverse(charArray);
            string Resultado = new string(charArray);

            if (Palabra1.Equals(Resultado))
            {
                Console.WriteLine("Si, son palabras palindromes");
            }
            else
            {
                Console.WriteLine("No son palabras palindromes, SORRY BRU");
            }
            Console.ReadLine();
        }