'Determine whether each character in the first string can be uniquely replaced by a character in the second string so that the two strings are equal

Give two strings of equal size. Determine whether each character in the first string can be uniquely replaced by a character in the second string so that the two strings are equal. Display also the corresponding character pairs between the two strings. The code works well now.

Example 1:

For input data:

aab
ttd

The console will display:

True
a => t
b => d

Example 2:

For input data:

tab
ttd

The console will display:

False

In the second example the answer is false because there is no unique correspondence for the character 'a': both 't' and 'd' correspond to it.

This is my code:

using System;

namespace problemeJM { class Program { static void Main(string[] args) { string firstPhrase = Convert.ToString(Console.ReadLine()); string secondPhrase = Convert.ToString(Console.ReadLine()); string aux1 = string.Empty, aux2 = string.Empty; bool x = true;

        for (int i = 0; i < firstPhrase.Length; i++)
        {
            if (!aux1.Contains(firstPhrase[i]))
            {
                aux1 += firstPhrase[i];
            }
        }
        for (int i = 0; i < secondPhrase.Length; i++)
        {
            if (!aux2.Contains(secondPhrase[i]))
            {
                aux2 += secondPhrase[i];
            }
        }
        if (aux1.Length != aux2.Length)
        {
            
            Console.WriteLine("False");
            
        }
        else
        {
            for (int i = 0; i < firstPhrase.Length - 2; i++)
            {
                for (int j = 1; j < secondPhrase.Length - 1; j++)
                {
                    if (firstPhrase[i] == firstPhrase[j] && secondPhrase[i] == secondPhrase[j])
                    {
                        x = true;
                    }
                    else if (firstPhrase[i] != firstPhrase[j] && secondPhrase[i] != secondPhrase[j])
                    {
                        x = true;
                    }
                    else if (firstPhrase[i] == firstPhrase[j] && secondPhrase[i] != secondPhrase[j])
                    {
                        x = false;
                        break;
                    }
                    else if (firstPhrase[i] != firstPhrase[j] && secondPhrase[i] == secondPhrase[j])
                    {
                        x = false;
                        break;
                    }
                }
            }
        
        
        Console.WriteLine(x);
        aux1 = string.Empty;
        aux2 = string.Empty;
        if (x == true)
        {
            for (int i = 0; i < firstPhrase.Length; i++)
            {
                if (!aux1.Contains(firstPhrase[i]))
                {
                    aux1 += firstPhrase[i];
                }
            }
            for (int i = 0; i < secondPhrase.Length; i++)
            {
                if (!aux2.Contains(secondPhrase[i]))
                {
                    aux2 += secondPhrase[i];
                }
            }

            for (int i = 0; i <= aux1.Length - 1; i++)
            {
                for (int j = 1; j <= aux2.Length; j++)
                {
                    if (aux1[i] == aux1[j] && aux2[i] == aux2[j])
                    {

                        Console.WriteLine(aux1[i] + " => " + aux2[i]);
                        break;
                    }
                    else if (aux1[i] != aux1[j] && aux2[i] != aux2[j])
                    {
                        Console.WriteLine(aux1[i] + " => " + aux2[i]);
                        break;
                    }
                 }
              }
            }
        }           
    }    
}

}



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source