コード例 #1
0
        //Priimami parametrai - vektorius
        //Grąžinamas rezultatas - vektorius ir vėliava (flag), ar vektorius buvo pakeistas
        //
        //Funkcija paklausia vartotojo, ar jis norės pakeisti vektoriuje klaidas. Jei vartotojas nori,
        //tuomet klaidos pakeičiamos ir grąžinamas pakeistas vektorius su vėliava, kad vektorius buvo keistas.
        //Jei vartotojas nenori, grąžinamas paduotas vektorius ir vėliava, kad vektorius nekeistas.
        public static Queue <int> ChangeErrors(Queue <int> vector, out bool changed)
        {
            Console.WriteLine("Do you want to change made errors?" + Environment.NewLine +
                              "1 - Yes" + Environment.NewLine +
                              "2 - No");
            var input  = Console.ReadLine();
            var choice = int.Parse(input);

            if (choice == 2)
            {
                changed = false;
                return(vector);
            }
            else
            {
                changed = true;
                Console.Write("Enter at what positions bits should be changed (separate by semicolon)" + Environment.NewLine +
                              "Example to change bits at 1, 5 and 6th positions: 1;5;6" + Environment.NewLine);
                input = Console.ReadLine();
                var errorPositionStringList = input.Split(';');
                var errorPositionList       = errorPositionStringList.Select(positionString => int.Parse(positionString)).ToList();
                var vectorAsList            = ErrorController.ChangeErrors(vector.ToList(), errorPositionList);
                var changedVector           = ConvertingHelper.ConvertListToQueue(vectorAsList);
                return(changedVector);
            }
        }