Исправление ошибок. Угадывание числа - 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);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы