Загрузка данных


namespace MissingNumbersFinder
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. Ввод размера массива
            Console.Write("Введите размер массива: ");
            string input = Console.ReadLine();
            int size = Convert.ToInt32(input);

            // 2. Создание и заполнение массива случайными числами
            int[] numbers = new int[size];
            Random random = new Random();

            for (int i = 0; i < size; i++)
            {
                numbers[i] = random.Next(0, 21); // от 0 до 20 включительно
            }

            // Вывод масива
            Console.Write("Сгенерированный массив: ");
            for (int i = 0; i < size; i++)
            {
                Console.Write(numbers[i] + " ");
            }
            Console.WriteLine();

            // 3. Поиск пропущенных чисел
            Console.Write("Числа, которых нет в массиве: ");

            for (int current = 0; current <= 20; current++)
            {
                // Переменная-флаг (0 - не нашли, 1 - нашли число в массиве)
                int found = 0;

                // Проверяем, есть ли текущее число в нашем массиве
                for (int i = 0; i < size; i++)
                {
                    if (numbers[i] == current)
                    {
                        found = 1; // Число есть в массиве, запоминаем это
                        break;     // Дальше массив можно не смотреть, выходим во внешний цикл
                    }
                }

                // Если после проверки всего массива found остался равен 0, значит числа там нет
                if (found == 0)
                {
                    Console.Write(current + " ");
                }
            }

            Console.WriteLine();
            Console.ReadLine(); // Чтобы консоль не закрывалась сразу
        }
    }
}