예제 #1
0
        public static void Ex_2()
        {
            Console.WriteLine("введите время: h,m,s ");

            int[] hms = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);

            double idk;

            idk = (hms[0] * 30 + hms[1] * 0.5 + hms[2] * (0.5 / 60.0));// вроде робит 1 час = 360/12 = 30градусов, 1 минута  = 30 градусов /60 = 0.5 градусов, 1 секунда = 0.5 градусов на 60
            Console.WriteLine(idk);
        }
예제 #2
0
        public static void Ex_4()
        {
            double S, P, D;

            // string a, b;
            Console.WriteLine("введите первый и второй катеты");
            int[] cat = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            S = (cat[0] * cat[1]) / 2; //площадь равна половине произведения катета
            D = (Math.Sqrt(((cat[0] * cat[0]) + (cat[1] * cat[1]))));
            P = (cat[0] + cat[1] + D); // а+б+с = площадь
            Console.WriteLine("S = {0}, P {1}", S, P);
        }
예제 #3
0
        public static void Ex_A2_5()
        {
            double a, b, t, y, s;

            Console.WriteLine("введите значение  a,b,t ");
            int[] n = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            a = n[0];
            b = n[1];
            t = n[2];
            y = (Math.Pow(Math.E, -b * t) * Math.Sin(a * t + b) - Math.Sqrt(Math.Abs(b * t + a)));
            s = (b * Math.Sin(a * Math.Pow(t, 2) * Math.Cos(2 * t) - 1));
            Console.WriteLine("y= {0}", y);
            Console.WriteLine("s= {0}", s);
        }
예제 #4
0
        public static void Ex_8()
        {
            int a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3, de, de1, de2, de3;

            //int a1 = 2, a2 = 1, a3 = 2, b1 = 5, b2 = 3, b3 = 10, c1 = 4, c2 = 2, c3 = 9, d1 = 30, d2 = 150, d3 = 110, de, de1, de2, de3;
            Console.WriteLine("введите первый ряд по формуле  a,b,c,d ");
            int[] D = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            a1 = D[0];
            b1 = D[1];
            c1 = D[2];
            d1 = D[3];
            Console.WriteLine("введите второй ряд по формуле  a,b,c,d ");
            D  = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            a2 = D[0];
            b2 = D[1];
            c2 = D[2];
            d2 = D[3];
            Console.WriteLine("введите третий ряд по формуле  a,b,c,d ");
            D  = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            a3 = D[0];
            b3 = D[1];
            c3 = D[2];
            d3 = D[3];


            de = a1 * b2 * c3 - a1 * b3 * c2 - b1 * a2 * c3 + b1 * a3 * c2 + c1 * a2 * b3 - c1 * a3 * b2; // nu


            if (de != 0)
            {
                de1 = d1 * b2 * c3 - d1 * b3 * c2 - b1 * d2 * c3 + b1 * d3 * c2 + c1 * d2 * b3 - c1 * d3 * b2; // первый
                de2 = a1 * d2 * c3 - a1 * d3 * c2 - d1 * a2 * c3 + d1 * a3 * c2 + c1 * a2 * d3 - c1 * a3 * d2; // второй
                de3 = a1 * b2 * d3 - a1 * b3 * d2 - b1 * a2 * d3 + b1 * a3 * d2 + d1 * a2 * b3 - d1 * a3 * b2; // третий

                double x1 = (de1 / de);
                double x2 = (de2 / de);
                double x3 = (de3 / de);
                Console.WriteLine("x1 = {0}     x2 = {1}     x3 = {2}", x1, x2, x3);
            }
            else
            {
                Console.WriteLine("determinant = 0");
            }
        }
예제 #5
0
        public static void ex_3() // ЕЕЕ ЗАРАБОТАЛО
        {
            Console.WriteLine("Введите длинну массива и K");
            string n = Console.ReadLine();

            int[] array_n = MainL.Normal_Enter_Parse(n, 1);

            //int n_of_array = array_n[0];

            int[] nums = new int[array_n[0]];

            for (int i = 0; i < array_n[0]; i++) // заполняю массив
            {
                nums[i] = i;
                Console.Write("{0} ", nums[i]);
            }
            // вывожу массив обычный

            Console.Write("\n\n");
            //<--------------------------------- влево это туда <--------------------------------------
            //зона для цикла
            int a1;

            for (int j = 0; j < array_n[1]; j++)// сдвиг на 1 k раз
            {
                a1 = nums[0];
                // а1 - текущий который надо поменять a2 - тот на который надо поменять
                for (int i = 0; i < nums.Length - 1; i++)// сдвиг на 1 всех элементов
                {
                    nums[i] = nums[i + 1];
                }
                nums[array_n[0] - 1] = a1;
            }
            //зона для цикла



            foreach (int j in nums) // вывожу массив со сдвигом в лево
            {
                Console.Write("{0} ", j);
            }
            Console.Write("\n\n");
        }
예제 #6
0
        public static void ex_a2_5() // работает
        {
            Console.WriteLine("Введите длину массива");
            int len = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Введите символы");
            int[] array1 = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            int[] array  = new int[len];
            for (int i = 0; i < len; i++)
            {
                array[i] = array1[i];
            }
            foreach (int i in array)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            int max = int.MinValue, count = 0;

            for (int i = 0; i < len; i += 2)
            {
                if (array[i] % 2 == 1 || array[i] % 2 == -1)
                {
                    if (max < array[i])
                    {
                        max = array[i];
                    }
                    count++;
                }
            }
            if (count > 0)
            {
                Console.WriteLine(max);
            }
            else
            {
                Console.WriteLine("Нет такого значения");
            }
        }
예제 #7
0
        public static void ex_a2_5() // работает   вывести сумму нечетных чисел a,b
        {
            Console.WriteLine("введите a и b");
            int[] num = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            int   a   = Math.Abs(num[0]);
            int   b   = Math.Abs(num[0]);
            int   k   = 0;

            if (a > b)
            {
                a = a + b;
                b = a - b;
                a = a - b;
            }//a<b
            for (; a <= b; a++)
            {
                if (a % 2 != 0)
                {
                    k += a;
                }
            }
            Console.WriteLine("сумма = {0}", k);
        }
예제 #8
0
        public static void ex_1() // работает дискриминант
        {
            double a, b, c;
            double Dis;

            Console.WriteLine("введите a,b,c");//дальше будет ввод
            int[] n = MainL.Normal_Enter_Parse(Console.ReadLine(), 1);
            a = n[0];
            b = n[1];
            c = n[2];
            if (a == 0)
            {
                return;                         //главное условие, если а = 0 то вылетаем
            }
            Dis = (Math.Pow(b, 2) - 4 * a * c); //нахождение дискриминанта
            if (Dis > 0)                        //2 корня если дискриминант больше 0
            {
                var x1 = (((-b) + Math.Sqrt(Dis)) / (2 * a));
                var x2 = (((-b) - Math.Sqrt(Dis)) / (2 * a));
                Console.WriteLine(" x1: {0}  x2: {1}", x1, x2);
            }
            else if (Dis == 0) //1 корень если равен 0
            {
                var x1 = -((b) / (2 * a));
                Console.WriteLine(" x1: {0}", x1);
            }
            else // если вообще нет корней, ибо дис меньше 0, то будем искать 2 корня x+y*i  x-y*i
            {
                Dis = -Dis; //Очень важно наш дис надо обратить в положительный, дабы добыть корень
                var x1 = (((-b) / (2 * a)));           // находим х
                var y1 = ((Math.Sqrt(Dis)) / (2 * a)); // находим y

                Console.WriteLine(" x1 = {0} + {1} * i\n x2 = {0} - {1} * i", x1, y1);
            }
            // Console.WriteLine($" {Dis}   {Math.Sqrt(Dis)}");
        }
예제 #9
0
        public static void ex_a1_5() // дайте мне в лоб )))))) работает dd/mm/yyyy
        {
            Console.WriteLine("введите день месяц год ");
            string[] str = MainL.Normal_Enter_Parse(Console.ReadLine(), "s");
            string   day = str[0];

            string month = str[1];

            string year = str[2];

            //если число меньше, то выход
            if (int.Parse(day) < 0 || int.Parse(month) < 0 || int.Parse(year) < 0)
            {
                return;
            }
            //если число больше, то подгоняем до dd/mm/yyyy
            if (int.Parse(day) > 99)
            {
                for (int i = 0; i < (int.Parse(day)); i += 100)
                {
                    day = Convert.ToString(int.Parse(day) / 10);
                }
            }
            if (int.Parse(month) > 99)
            {
                for (int i = 0; i < (int.Parse(month)); i += 100)
                {
                    month = Convert.ToString(int.Parse(month) / 10);
                }
            }
            if (int.Parse(year) > 9999)
            {
                for (int i = 9999; i < (int.Parse(year)); i += 1000)
                {
                    year = Convert.ToString(int.Parse(year) / 10);
                }
            }
            // список условий с нулями
            if (int.Parse(day) < 10)
            {
                day = "0" + day;
            }
            if (int.Parse(month) < 10)
            {
                month = "0" + month;
            }
            if (int.Parse(year) < 10)
            {
                year = "000" + int.Parse(year);
            }
            else if (int.Parse(year) < 100)
            {
                year = "00" + int.Parse(year);
            }
            else if (int.Parse(year) < 1000)
            {
                year = "0" + int.Parse(year);
            }
            // 1-31     2-30    3-31   4-30      5-31     6-28/29     7-31    8-31       9-30      10-31    11-30       12-31
            int d = int.Parse(day);
            int m = int.Parse(month);
            int y = int.Parse(year);

            month = Convert.ToString(Math.Min(int.Parse(month), 12));//месяц
            //================================ ветвление верного дня по месяцу
            if (d > 31)
            {
                day = "31";
            }
            if (int.Parse(day) > 31)
            {
                d = 31;
            }
            //в любом случае будет 31 день

            if ((m == 6 || m == 4 || m == 9 || m == 11) && d > 30)
            {
                day = "30";
            }
            if (day == "30")
            {
                d = 30;
            }
            //в этих случаях у нас будет 30, во всех других 31
            if (y % 4 == 0 && m == 2 && d > 28)
            {
                day = "29";
            }
            else if (m == 2 && d > 27)
            {
                day = "28";
            }

            //в первом случае 29 во втором 28
            if (int.Parse(month) < 10)
            {
                month = "0" + month;
            }

            Console.WriteLine("{0}/{1}/{2}", day, month, year);
        }