Пример #1
0
        static void GuessRandomNumber(Homework_2 hw2)
        {
            // 4. Угадать случайное число не более чем за 10 попыток.
            // После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано.
            // Если за 10 попыток число не отгадано, то вывести загаданное число.

            int number = Random(0, 101), counter = 0, guess, attempts = 10;

            Console.WriteLine(number);
            Console.WriteLine("Угадайте число от 0 до 100");

            while (counter <= attempts)
            {
                Console.WriteLine($"Попытка {counter}");
                guess = Convert.ToInt32(Console.ReadLine());
                string result = hw2.CheckEquality(number, guess);

                Console.WriteLine(result);
                if (result == "Вы угадали!")
                {
                    break;
                }
                counter++;
            }

            if (counter > attempts)
            {
                Console.WriteLine($"Вы не угадали 10 раз. Число было равно {number}");
            }
        }
Пример #2
0
        // 4. Угадать случайное число не более чем за 10 попыток.
        // После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано.
        // Если за 10 попыток число не отгадано, то вывести загаданное число.
        static void GuessRandomNumber(Homework_2 hw2)
        {
            int number = Random(0, 101), counter = 0, guess, attempts = 10;

            Console.WriteLine(number);
            Console.WriteLine("Угадайте число от 0 до 100");

            while (counter <= attempts)
            {
                Console.WriteLine($"Попытка {counter}");
                guess = Convert.ToInt32(Console.ReadLine());
                string result = hw2.CheckEquality(number, guess);

                Console.WriteLine(result);
                if (result == "Вы угадали!")
                {
                    break;
                }
                counter++;
            }

            if (counter > attempts)
            {
                Console.WriteLine($"Вы не угадали 10 раз. Число было равно {number}");
            }
        }
Пример #3
0
        //3. В введенном промежутке натуральных чисел найти те, количество делителей у которых не меньше введенного значения.  Для найденных чисел вывести на экран количество делителей и все делители.
        //	Примерный вывод:
        //	Числовой промежуток: 21 .. 30
        //	Количество делителей (не менее): 5
        //	24 - 8 - 1 2 3 4 6 8 12 24
        //	28 - 6 - 1 2 4 7 14 28
        //	30 - 8 - 1 2 3 5 6 10 15 30
        static void NumberOfDividers(Homework_3 hw3, Homework_2 hw2)
        {
            int a, b, minOfDiv, divCounter;

            int[]  divArr;
            string divStr;

            Console.WriteLine("Введите промежуток натуральных чисел");
            Console.WriteLine("От: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("До: ");
            b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Количество делителей должно быть не менее:");
            minOfDiv = Convert.ToInt32(Console.ReadLine());

            while (a <= b)
            {
                divCounter = hw3.CountDividers(a);
                divArr     = hw3.NumberDividers(a, divCounter);

                if (divCounter >= minOfDiv)
                {
                    divStr = hw2.PrintArray(divArr);
                    Console.Write($"{a} - {divCounter} - {divStr} \n");
                }
                a++;
            }
        }
Пример #4
0
        //Написать программу, которая будет складывать, вычитать, умножать или делить два числа.Числа и знак операции вводятся пользователем.После выполнения вычисления программа не должна завершаться, а должна запрашивать новые данные для вычислений.Завершение программы должно выполняться при вводе символа '0' в качестве знака операции. Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'), то программа должна сообщать ему об ошибке и снова запрашивать знак операции.Также сообщать пользователю о невозможности деления на ноль, если он ввел 0 в качестве делителя.
        static void Calc(Homework_2 hw2)
        {
            char  sign = '+';
            float num, result;

            Console.WriteLine("Введите первое число: ");
            try
            {
                result = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("Введите первое ЧИСЛО! You idiot! ");
                result = Convert.ToInt32(Console.ReadLine());
            }
            while (sign != '0')
            {
                Console.WriteLine("Введите знак: ");
                sign = Convert.ToChar(Console.ReadLine());

                if (sign != '+' && sign != '-' && sign != '*' && sign != '/')
                {
                    Console.WriteLine("Bloody hell! Вы ввели неверный знак");
                    Console.WriteLine("Введите знак: ");
                    sign = Convert.ToChar(Console.ReadLine());
                }

                Console.WriteLine("Введите второе число: ");
                try
                {
                    num = Convert.ToInt32(Console.ReadLine());
                }
                catch
                {
                    Console.WriteLine("Введите второе ЧИСЛО! You piece of shit! ");
                    num = Convert.ToInt32(Console.ReadLine());
                }

                if (sign == '+' || sign == '-' || sign == '*')
                {
                    result = hw2.SubstituteSign(result, num, sign);
                }
                else if (sign == '/')
                {
                    if (num != 0)
                    {
                        result = hw2.SubstituteSign(result, num, sign);
                    }
                    else
                    {
                        Console.WriteLine("Делить на ноль нельзя! You wanker!");
                        continue;
                    }
                }
                Console.WriteLine($"Результат {result}");
                Console.WriteLine($"\n");
            }
        }
Пример #5
0
        //  123 => 321.
        static void ReverseNumber(Homework_2 hw2)
        {
            int n, reverseN;

            n        = Random(1, 100000);
            reverseN = hw2.FlipNumberBackwards(n);

            Console.WriteLine($"n = {n}, reverse = {reverseN}");
        }
Пример #6
0
        // Проверить корректность работы генератора псевдослучайных чисел на выборке не менее 1000 случайных чисел.
        // Программа должна выдать около 50%.
        // Можно увеличить число генераций, например до 10 тысяч. В таком случае отклонение от 50% будет меньше
        static void CheckRandomGenerator(Homework_2 hw2)
        {
            int count, amount = 10000;

            count = hw2.CheckRandom(amount);
            double percentage = hw2.CalcPercentage(count, amount);

            Console.WriteLine($"Even numbers {count} out of {amount}");
            Console.WriteLine($"Even numbers {percentage}%");
        }
Пример #7
0
        // 5. Вывести на экран столько элементов ряда Фибоначчи, сколько указал пользователь.
        static void Fibonacci(Homework_2 hw2)
        {
            int n;

            Console.WriteLine("Задайте количество эллементов ряда");

            n = Convert.ToInt32(Console.ReadLine());
            int[]  fibArr = hw2.FibonacciOfNumber(n);
            string fibStr = hw2.PrintArray(fibArr);

            Console.WriteLine(fibStr);
        }
Пример #8
0
        // Задан массив из 20 элементов (рандом от -100 до 100). Найти наибольший элемент массива и его индекс
        static void MaxInArray(Homework_2 hw2)
        {
            int length = 20;

            int[]  arr      = hw2.FillArray(length);
            int[]  maxInArr = hw2.FindMaxInArray(arr);
            string arrStr   = hw2.PrintArray(arr);

            Console.WriteLine(arrStr);
            Console.WriteLine();
            Console.WriteLine($"max = {maxInArr[0]}, index = {maxInArr[1]} ");
        }
Пример #9
0
        static void MaxInArray(Homework_2 hw2)
        {
            // Задан массив из 20 элементов (рандом от -100 до 100). Найти наибольший элемент массива и его индекс
            int length = 20;

            int[]  arr      = hw2.FillArray(length);
            int[]  maxInArr = hw2.FindMaxInArray(arr);
            string arrStr   = hw2.PrintArray(arr);

            Console.WriteLine(arrStr);
            Console.WriteLine();
            Console.WriteLine($"max = {maxInArr[0]}, index = {maxInArr[1]} ");
        }
Пример #10
0
        static void Fibonacci(Homework_2 hw2)
        {
            // 5. Вывести на экран столько элементов ряда Фибоначчи, сколько указал пользователь.

            int n;

            Console.WriteLine("Задайте количество эллементов ряда");

            n = Convert.ToInt32(Console.ReadLine());
            int[]  fibArr = hw2.FibonacciOfNumber(n);
            string fibStr = hw2.PrintArray(fibArr);

            Console.WriteLine(fibStr);
        }
Пример #11
0
        static void CheckRandomGenerator(Homework_2 hw2)
        {
            // Проверить корректность работы генератора псевдослучайных чисел на выборке не менее 1000 случайных чисел.
            // Программа должна выдать около 50%.
            // Можно увеличить число генераций, например до 10 тысяч. В таком случае отклонение от 50% будет меньше

            int count, amount = 10000;

            count = hw2.CheckRandom(amount);
            double percentage = hw2.CalcPercentage(count, amount);

            Console.WriteLine($"Even numbers {count} out of {amount}");
            Console.WriteLine($"Even numbers {percentage}%");
        }
Пример #12
0
        //4. Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива.
        static void ArithmeticalMean(Homework_2 hw2)
        {
            int length = 6;

            int[]  arr    = hw2.FillArray(length);
            string arrStr = hw2.PrintArray(arr);

            Console.WriteLine($"arr {arrStr}");

            int arithmMean = hw2.CalcArithmeticalMean(arr);

            int[]  newArr    = hw2.GetNumbLessAv(arr, arithmMean);
            string newArrStr = hw2.PrintArray(newArr);

            Console.WriteLine($"arr {newArrStr}");
        }
Пример #13
0
        static void ReverseAnArray(Homework_2 hw2)
        {
            int length = 10;

            int[]  arr, reverse;
            string arrStr, reverseArrStr;

            arr    = hw2.FillArray(length);
            arrStr = hw2.PrintArray(arr);

            reverse       = hw2.ReverseArray(arr);
            reverseArrStr = hw2.PrintArray(reverse);

            Console.WriteLine($"arr {arrStr}");
            Console.WriteLine($"reverse {reverseArrStr}");
        }
Пример #14
0
        // Поменять местами первую и вторую половину массива,
        // 1 2 3 4  => 3 4 1 2.
        // 1 2 3 4 5  =>  4 5 3 1 2
        static void SwapArr(Homework_2 hw2)
        {
            int length = 6;

            int[]  arr, swapArr;
            string arrStr, swapArrStr;

            arr    = hw2.FillArray(length);
            arrStr = hw2.PrintArray(arr);

            swapArr    = hw2.SwapArrayParts(arr);
            swapArrStr = hw2.PrintArray(swapArr);

            Console.WriteLine($"arr {arrStr}");
            Console.WriteLine($"swap {swapArrStr}");
        }
Пример #15
0
        static void Main(string[] args)
        {
            Homework_1 hw1 = new Homework_1();
            Homework_2 hw2 = new Homework_2();
            Homework_3 hw3 = new Homework_3();

            // Credit(hw1);
            // Hypotenuse(hw1);
            // StraightLineEquation(hw1);
            // Roots(hw1);
            // MaxPlusThree(hw1);
            // EuclideanDivision(hw1);
            // CoordinateSystem(hw1);
            // Radius(hw1);
            // Factorial(hw1);
            // ValueTable(hw1);
            // SumAndMultDigits(hw1);
            // Evidence(hw1);

            // ReverseNumber(hw2);
            // Calc(hw2);
            // CheckRandomGenerator(hw2);
            // GuessRandomNumber(hw2);
            // Fibonacci(hw2);
            // MaxInArray(hw2);
            // ReverseAnArray(hw2);
            // SwapArr(hw2);
            // ArithmeticalMean(hw2);
            // SumBetweenMinMax(hw2);

            // QtyDigits(hw3);
            // Rectangle(hw3);
            // NumberOfDividers(hw3, hw2);
            // TicTacToe(hw3);
            // SwapDiagonals(hw3);
            // CountingBigNumbers(hw3, hw2);

            //Gauss gauss = new Gauss(new int[,]{ { 6, 3, 5, 4, 77 },
            //                                    { 3, -2, 8, 0, 67 },
            //                                    { 7, 2, 0, 0, 43 },
            //                                    { 4, 0, 0, 0, 12 } });
            //int[] gaussResult = gauss.GetGuass();
            //string gaussResultStr = hw2.PrintArray(gaussResult);
            //Console.WriteLine(gaussResultStr);

            //Console.ReadLine();
        }
Пример #16
0
        // 5. В массиве найти сумму элементов, находящихся между минимальным и максимальным элементами.
        // Сами минимальный и максимальный элементы в сумму не включать.

        static void SumBetweenMinMax(Homework_2 hw2)
        {
            int length = 10, sum;

            int[]  arr    = hw2.FillArray(length, 0, 20);
            string arrStr = hw2.PrintArray(arr);

            Console.WriteLine($"arr {arrStr}");

            int[] maxResult = hw2.FindMaxInArray(arr);
            int[] minResult = hw2.FindMinInArray(arr);
            sum = hw2.GetSumBetweenMinMax(arr, minResult[1], maxResult[1]);

            Console.WriteLine($"max  = {maxResult[0]}, maxIndex  = {maxResult[1]}");
            Console.WriteLine($"min  = {minResult[0]}, minIndex  = {minResult[1]}");
            Console.WriteLine($"Sum = {sum}");
        }
Пример #17
0
        static void ArithmeticalMean(Homework_2 hw2)
        {
            //4. Найти в массиве те элементы, значение которых меньше среднего арифметического, взятого от всех элементов массива.
            int length = 6;

            int[]  arr    = hw2.FillArray(length);
            string arrStr = hw2.PrintArray(arr);

            Console.WriteLine($"arr {arrStr}");

            int arithmMean = hw2.CalcArithmeticalMean(arr);

            int[]  newArr    = hw2.GetNumbLessAv(arr, arithmMean);
            string newArrStr = hw2.PrintArray(newArr);

            Console.WriteLine($"arr {newArrStr}");
        }
Пример #18
0
        static void SwapArr(Homework_2 hw2)
        {
            // Поменять местами первую и вторую половину массива,
            // 1 2 3 4  => 3 4 1 2.
            // 1 2 3 4 5  =>  4 5 3 1 2
            int length = 6;

            int[]  arr, swapArr;
            string arrStr, swapArrStr;

            arr    = hw2.FillArray(length);
            arrStr = hw2.PrintArray(arr);

            swapArr    = hw2.SwapArrayParts(arr);
            swapArrStr = hw2.PrintArray(swapArr);

            Console.WriteLine($"arr {arrStr}");
            Console.WriteLine($"swap {swapArrStr}");
        }
Пример #19
0
        // 3. Найти количество элементов массива, которые больше своих левого, правого, верхнего и нижнего соседа одновременно.
        static void CountingBigNumbers(Homework_3 hw3, Homework_2 hw2)
        {
            int l = 6, bigNumberCounter;

            int[,] arr = new int[l, l];
            int[]  bigNumbers;
            string arrStr, bigNumbersStr;

            arr    = hw3.FillTwoDimensionalArrayInt(arr);
            arrStr = hw3.PrintTwoDimensionalArrayInt(arr);

            Console.Write(arrStr);

            bigNumberCounter = hw3.CountBigNumbers(arr);
            bigNumbers       = hw3.BigNumbersArr(arr, bigNumberCounter);
            bigNumbersStr    = hw2.PrintArray(bigNumbers);

            Console.WriteLine($"bigNumbers - {bigNumbersStr}");
            Console.WriteLine($"bigNumberCounter - {bigNumberCounter}");
        }
Пример #20
0
        static void SumBetweenMinMax(Homework_2 hw2)
        {
            // 5. В массиве найти сумму элементов, находящихся между минимальным и максимальным элементами.
            // Сами минимальный и максимальный элементы в сумму не включать.

            int length = 10, sum;

            int[]  arr    = hw2.FillArray(length, 0, 20);
            string arrStr = hw2.PrintArray(arr);

            Console.WriteLine($"arr {arrStr}");

            int[] maxResult = hw2.FindMaxInArray(arr);
            int[] minResult = hw2.FindMinInArray(arr);
            sum = hw2.GetSumBetweenMinMax(arr, minResult[1], maxResult[1]);

            Console.WriteLine($"max  = {maxResult[0]}, maxIndex  = {maxResult[1]}");
            Console.WriteLine($"min  = {minResult[0]}, minIndex  = {minResult[1]}");
            Console.WriteLine($"Sum = {sum}");
        }
Пример #21
0
        static void CountingBigNumbers(Homework_3 hw3, Homework_2 hw2)
        {
            //! 3. Найти количество элементов массива, которые больше своих левого, правого, верхнего и нижнего соседа одновременно.

            int l = 6, bigNumberCounter;

            int[,] arr = new int[l, l];
            int[]  bigNumbers;
            string arrStr, bigNumbersStr;

            arr    = hw3.FillTwoDimensionalArrayInt(arr);
            arrStr = hw3.PrintTwoDimensionalArrayInt(arr); // как вывести красиво ??

            Console.Write(arrStr);

            bigNumberCounter = hw3.CountBigNumbers(arr);
            bigNumbers       = hw3.BigNumbersArr(arr, bigNumberCounter);
            bigNumbersStr    = hw2.PrintArray(bigNumbers);

            Console.WriteLine($"bigNumbers - {bigNumbersStr}");
            Console.WriteLine($"bigNumberCounter - {bigNumberCounter}");
        }
Пример #22
0
        static void NumberOfDividers(Homework_3 hw3, Homework_2 hw2)
        {
            //3. В введенном промежутке натуральных чисел найти те, количество делителей у которых не меньше введенного значения.  Для найденных чисел вывести на экран количество делителей и все делители.
            //	Примерный вывод:
            //	Числовой промежуток: 21 .. 30
            //	Количество делителей (не менее): 5
            //	24 - 8 - 1 2 3 4 6 8 12 24
            //	28 - 6 - 1 2 4 7 14 28
            //	30 - 8 - 1 2 3 5 6 10 15 30

            int a, b, minOfDiv, divCounter;

            int[]  divArr;
            string divStr;

            Console.WriteLine("Введите промежуток натуральных чисел");
            Console.WriteLine("От: ");
            a = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("До: ");
            b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Количество делителей должно быть не менее:");
            minOfDiv = Convert.ToInt32(Console.ReadLine());

            while (a <= b)
            {
                divCounter = hw3.CountDividers(a);
                divArr     = hw3.NumberDividers(a, divCounter);

                if (divCounter >= minOfDiv)
                {
                    divStr = hw2.PrintArray(divArr);
                    Console.Write($"{a} - {divCounter} - {divStr} \n");
                }
                a++;
            }
        }
Пример #23
0
        static void Main(string[] args)
        {
            Homework_1 hw1 = new Homework_1();
            Homework_2 hw2 = new Homework_2();
            Homework_3 hw3 = new Homework_3();

            // Credit(hw1);
            // Hypotenuse(hw1);
            // StraightLineEquation(hw1);
            // Roots(hw1);
            // MaxPlusThree(hw1);
            // EuclideanDivision(hw1);
            // CoordinateSystem(hw1);
            // Radius(hw1);
            // Factorial(hw1);
            // ValueTable(hw1);
            // SumAndMultDigits(hw1);
            // Evidence(hw1);

            // ReverseNumber(hw2);
            // Calc(hw2);
            // CheckRandomGenerator(hw2);
            // GuessRandomNumber(hw2);
            // Fibonacci(hw2);
            // MaxInArray(hw2);
            // ReverseAnArray(hw2);
            // SwapArr(hw2);
            // ArithmeticalMean(hw2);
            // SumBetweenMinMax(hw2);

            // QtyDigits(hw3);
            // Rectangle(hw3);
            // NumberOfDividers(hw3, hw2);
            // TicTacToe(hw3);
            // SwapDiagonals(hw3);
            // CountingBigNumbers(hw3, hw2);

            /*  Human antosha = new Human("Antoshka", 35);
             * antosha.GetInfo();
             * //Human antosha = new Human("Antoshka");
             * //Human antosha = new Human(35);
             * //antosha.name = "Antoshka";
             * Human petya = new Human("Petya", 66);
             * petya.GetInfo();
             * Human sergey = new Human("Sergey", 33);
             * sergey.GetInfo();
             *
             * Human kirill = new Human()
             * {
             *    name = "Kirill",
             *    age = 23
             * };
             *
             * kirill.GetInfo();
             */

            // ------------



            Console.ReadLine();
        }