Исправление ошибок. Угадывание числа - C#
Формулировка задачи:
какой должен быть результат.
для ввода нажмите Enter
для завершения Esc
ваш вариант -> 123 Угадано: 0. на своих местах: 0
ваш вариант -> 456 Угадано: 1. на своих местах: 0
ваш вариант -> 654 Угадано: 2. на своих местах: 2
ваш вариант -> 657 Угадано: 2. на своих местах: 2
ваш вариант -> 658 Угадано: 3. на своих местах: 3
***Вы Угадали !***
у меня считывается код неправильно. исправте меня
bool b = true;
string number = null;
string[] numberList;
int nomer = 0;
int count = 0;
int sum = 0;
Console.WriteLine("После ввода числа нажимайте <Enter>");
Console.WriteLine("Для завершения работы нажмите <Esc>");
ConsoleKey k = Console.ReadKey().Key;
do
{
Console.Write("-> ");
if (k == ConsoleKey.Escape) break;
number = Console.ReadLine();
numberList = number.Split();
for (int j = 0; j < numberList.Length; j++)
{
for (int i = j; i < numberList.Length; i++)
{
nomer = Convert.ToInt32(numberList[i]);
if (nomer >= 600 && nomer < 700)
{
count++;
}
else if (nomer > 50 && nomer < 60)
{
count++;
}
else if (nomer == 8)
{
count++;
}
}
sum += count;
if (sum == 3)
{
Console.WriteLine("*** ВЫ УГАДАЛИ !***");
b = false;
}
Console.WriteLine("Ваш вариант -> {0} Угадано: {1} На своих местах: {2}", nomer, count, sum);
}
} while (b);Решение задачи: «Исправление ошибок. Угадывание числа»
textual
Листинг программы
void Main()
{
string answer = "658";
string guess = "456";
int cowsCount = 0;
int oxesCount = 0;
for(int i = 0; i < answer.Length; i++)
{
for(int j = 0; j < guess.Length; j++)
{
if(answer[i] == guess[j])
{
if(i == j)
{
oxesCount++;
}
else
{
cowsCount++;
}
}
}
}
Console.WriteLine("Угадано: {0}. на своих местах: {1}", oxesCount + cowsCount, oxesCount);
}