public static void FindSequence(Sequence first,Sequence second,int bulls,int cows,int index,int temp,int item) { //B- C Same if (bulls < second.countOfbulls && second.countOfCows == cows) { //Swap first.Swap(second, index, item); first.Remove(item); second.bulls[index] = temp; bulls = bulls + 1; } //B+ C Same else if (bulls > second.countOfbulls && second.countOfCows == cows) { first.Remove(item); first.Remove(temp); second.bulls[index] = item; } //B same C+ else if (second.countOfbulls == bulls && cows > second.countOfCows) { second.cows[index] = item; } //B same C- else if (second.countOfbulls == bulls && cows < second.countOfCows) { first.Swap(second, index,item); first.Remove(item); second.cows[index] = temp; cows = cows + 1; } second.countOfCows = cows; second.countOfbulls = bulls; }
public static void GenerateNextSequence(Sequence first,Sequence second) { foreach(int item in first.digits) { //Swap int index = FindPosition(second); int temp = second.digits[index]; second.Swap(first, index, item); Console.WriteLine(string.Join(",", second.digits)); Console.WriteLine("Enter the bulls"); int bulls = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter the cows"); int cows = Convert.ToInt32(Console.ReadLine()); FindSequence(first, second, bulls, cows, index, temp, item); } }