Пример #1
0
        public void FindTwoNums_WithDefaultInput_ShouldReturn1721And299()
        {
            int[]        testInput = new int[] { 1721, 979, 366, 299, 675, 1456 };
            NumbersArray numbers   = new NumbersArray(testInput);

            int num1 = 0;
            int num2 = 0;

            (num1, num2) = numbers.GetTwoNumbersThatSumTo2020();
            Assert.Equal(1721, num1);
            Assert.Equal(299, num2);
        }
Пример #2
0
        public void FindThreeNums_WithDefaultInput_ShouldReturn979And366And675()
        {
            int[]        testInput = new int[] { 1721, 979, 366, 299, 675, 1456 };
            NumbersArray numbers   = new NumbersArray(testInput);

            int num1 = 0;
            int num2 = 0;
            int num3 = 0;

            (num1, num2, num3) = numbers.GetThreeNumbersThatSumTo2020();
            Assert.Equal(979, num1);
            Assert.Equal(366, num2);
            Assert.Equal(675, num3);
        }
Пример #3
0
        static void Main()
        {
            string      inputFilePath  = @"C:\Users\Maxim\Desktop\Programming\EPAMTraining\Labs\DividerIndex\src\Inlet.in";
            string      outputFilePath = @"C:\Users\Maxim\Desktop\Programming\EPAMTraining\Labs\DividerIndex\src\Outlet.in";
            FileManager fileManager    = new FileManager();
            string      values         = fileManager.ReadFile(inputFilePath, 3);

            if (values != "")
            {
                fileManager.ProcessInputFile(out int elementsNumber, out int dividend, values, out int[] elements);
                NumbersArray numArray = new NumbersArray(elementsNumber, dividend, elements);
                values = numArray.GetDividers();
                fileManager.WriteFile(values, outputFilePath);
            }


            bool exit = false;

            while (!exit)
            {
                DisplayMainMenu();
                string choice = Console.ReadLine();

                switch (choice)
                {
                case "1":
                    values = fileManager.ReadFile(outputFilePath, 1);
                    DisplayResult(values);
                    break;

                case "2":
                    values = fileManager.ReadFile(inputFilePath, 1);
                    DisplayResult(values);
                    break;

                case "3":
                    GetLengthAndDivider(out int elementsNumber, out int dividend);
                    GetElements(out int[] elements, elementsNumber);
                    fileManager.WriteFile(elementsNumber + " " + dividend + "\n", elements, inputFilePath);
                    NumbersArray numArray = new NumbersArray(elementsNumber, dividend, elements);
                    string       dividers = numArray.GetDividers();
                    fileManager.WriteFile(dividers, outputFilePath);
                    break;

                default:
                    exit = true;
                    break;
                }
            }
        }
Пример #4
0
        public IActionResult Arrays([FromBody] NumbersArray numbers)
        {
            logContext.Logs.Add(new Log()
            {
                EndPoint = "arrays", Data = $"{numbers.ToString()}"
            });
            logContext.SaveChanges();

            if (numbers.What.Equals("sum"))
            {
                int result = 0;
                foreach (var number in numbers.Numbers)
                {
                    result += number;
                }
                return(Json(new { result = result }));
            }
            if (numbers.What.Equals("multiply"))
            {
                int result = 1;
                foreach (var number in numbers.Numbers)
                {
                    result *= number;
                }
                return(Json(new { result = result }));
            }
            if (numbers.What.Equals("double"))
            {
                int[] result = new int[4];
                for (int i = 0; i < result.Length; i++)
                {
                    result[i] = numbers.Numbers[i] * 2;
                }
                return(Json(new { result = result }));
            }
            return(Json(new { error = "Please provide what to do with the numbers!" }));
        }
Пример #5
0
        public Paragraph GetParagraph()
        {
            string separator = "";

            if (PermutationPair == null)
            {
                return(new Paragraph(new Run(string.Join(separator, NumbersArray))));
            }

            int line1Position = 0;
            int line1Length   = IndexOfLeft;
            var line1         = new Run(string.Format("{0}", line1Length == 0 ? "" : string.Format("{1}{0}", separator, string.Join(separator, NumbersArray.Skip(line1Position).Take(line1Length)))));
            var line2         = new Bold(new Run(string.Join(separator, PermutationPair.Left)));

            int line3Position = IndexOfLeft + PermutationPair.Left.Length;
            int line3Length   = IndexOfRight - IndexOfLeft - PermutationPair.Left.Length;
            var line3         = new Run(string.Format("{0}", line3Length == 0 ? separator : string.Format("{0}{1}{0}", separator, string.Join(separator, NumbersArray.Skip(line3Position).Take(line3Length)))));
            var line4         = new Bold(new Run(string.Join(separator, PermutationPair.Right)));

            int line5Position = IndexOfRight + PermutationPair.Right.Length;
            int line5Length   = NumbersArray.Length - IndexOfRight - PermutationPair.Right.Length;
            var line5         = new Run(string.Format("{0}", line5Length == 0 ? "" : string.Format("{0}{1}", separator, string.Join(separator, NumbersArray.Skip(line5Position).Take(line5Length)))));
            //var line6 = new Run(string.Format("\t"));
            //var line7 = new Bold(new Run(string.Join(" ", ПрименимаяПерестановка.ЛеваяПара)));
            //var line8 = new Run(string.Format(" <-> "));
            //var line9 = new Bold(new Run(string.Join(" ", ПрименимаяПерестановка.ПраваяПара)));
            var line6 = new Run(string.Format("\t{0} ↔ {1}", string.Join(separator, PermutationPair.Left), string.Join(separator, PermutationPair.Right)));

            var paragraph = new Paragraph();

            paragraph.Inlines.Add(line1);
            paragraph.Inlines.Add(line2);
            paragraph.Inlines.Add(line3);
            paragraph.Inlines.Add(line4);
            paragraph.Inlines.Add(line5);
            paragraph.Inlines.Add(line6);


            var rangeLeft = new TextRange(line2.ContentStart, line2.ContentEnd);

            rangeLeft.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Red);

            var rangeRight = new TextRange(line4.ContentStart, line4.ContentEnd);

            rangeRight.ApplyPropertyValue(TextElement.ForegroundProperty, Brushes.Green);

            return(paragraph);
        }