Example #1
0
File: List.cs Project: jancuz/ex10
        static LinkedList AddPoint(LinkedList beg, LinkedList NewPoint, int number, ref int size)
        {
            do
            {
                number = AskData.ReadIntNumber("Введите номер элемента для добавления", MIN_SIZE, MAX_SIZE);
                if (number > size + 1)
                {
                    Console.WriteLine("Ошибка! Размер списка меньше введенного числа.");
                }
            } while (number > size + 1);

            if (number == 1) //добавление в начало списка
            {
                NewPoint.next = beg;
                beg           = NewPoint;
                size++;
                Console.WriteLine("Элемент был добавлен на 1 позицию");
                return(beg);
            }
            //вспом. переменная для прохода по списку
            LinkedList p = beg;

            //идем по списку до нужного элемента
            for (int i = 1; i < number - 1 && p.next != null; i++)
            {
                p = p.next;
            }
            //добавляем новый элемент
            NewPoint.next = p.next;
            p.next        = NewPoint;
            Console.WriteLine("Элемент был добавлен на {0} позицию", number);
            size++;
            return(beg);
        }
Example #2
0
        private void button10_Click(object sender, EventArgs e)
        {
            this.Hide();
            var x = new AskData();

            x.Show();
        }
Example #3
0
        static void Main(string[] args)
        {
            double a1 = AskData.ReadDoubleNumber("Введите первое чиcло последовательности: ", double.MinValue, double.MaxValue);
            double a2 = AskData.ReadDoubleNumber("Введите второе число последовательности: ", double.MinValue, double.MaxValue);
            double a3 = AskData.ReadDoubleNumber("Введите третье число последовательности: ", double.MinValue, double.MaxValue);
            int    n  = AskData.ReadIntNumber("Введите границу последовательности: ", 4, int.MaxValue);

            double[] arr = new double[n];   // массив элементов последовательноти
            // первые три элемента заданной последовательности
            arr[0] = a1;
            arr[1] = a2;
            arr[2] = a3;

            Console.Write("Последовательность: {0} {1} {2} ", a1, a2, a3);
            int tecN = 3;

            NextElement(n, tecN, ref arr); // получение элементов последовательности
            Console.WriteLine();
            if (!IsGrowing(n, arr))        // определение, являются ли элементы, стоящие на четных местах, возрастающей последвательностью
            {
                Console.WriteLine("Элементы, стоящие на четных местах, не образуют возрастающую подпоследовательность");
            }
            else
            {
                Console.WriteLine("Элементы, стоящие на четных местах, образуют возрастающую подпоследовательность");
            }

            Console.WriteLine("Нажмите Enter для завершения работы программы...");
            Console.ReadLine();
        }
Example #4
0
File: List.cs Project: jancuz/ex10
        static LinkedList FormAddPointHand(LinkedList NewPoint)
        {
            int info = AskData.ReadIntNumber("Введите элемент, который хотите добавить:", MININT_VALUE, MAXINT_VALUE); //создаем новый элемент

            NewPoint = MakePoint(info);                                                                                //создаем добавляемый элемент
            return(NewPoint);
        }
Example #5
0
    public AskData GetAskData(uint nIndex)
    {
        IntPtr  cPtr = otapiPINVOKE.OfferListMarket_GetAskData(swigCPtr, nIndex);
        AskData ret  = (cPtr == IntPtr.Zero) ? null : new AskData(cPtr, false);

        return(ret);
    }
Example #6
0
    public new static AskData ot_dynamic_cast(Storable pObject)
    {
        IntPtr  cPtr = otapiPINVOKE.AskData_ot_dynamic_cast(Storable.getCPtr(pObject));
        AskData ret  = (cPtr == IntPtr.Zero) ? null : new AskData(cPtr, false);

        return(ret);
    }
Example #7
0
    public bool AddAskData(AskData disownObject)
    {
        bool ret = otapiPINVOKE.OfferListMarket_AddAskData(swigCPtr, AskData.getCPtr(disownObject));

        if (otapiPINVOKE.SWIGPendingException.Pending)
        {
            throw otapiPINVOKE.SWIGPendingException.Retrieve();
        }
        return(ret);
    }
Example #8
0
        static void Main(string[] args)
        {
            double x = AskData.ReadDoubleNumber("Введите координату x: ", double.MinValue, double.MaxValue);
            double y = AskData.ReadDoubleNumber("Введите координату у: ", double.MinValue, double.MaxValue);

            bool ans = (y <= 3 * x + 2 && y <= -3 * x + 2 && y >= -1);

            Console.WriteLine("Ответ: " + ans);

            Console.WriteLine("Нажмите Enter для завершения работы програмы");
            Console.ReadLine();
        }
Example #9
0
        // формирование случайного графа
        public static void FormRandomGraph(out int[,] graph)
        {
            int countVertex = AskData.ReadIntNumber("Введите количество вершин графа (от 2 до 20): ", 2, 20); // кол-во вершин графа

            graph = new int[countVertex, countVertex];                                                        // граф
            for (int i = 0; i < countVertex; i++)
            {
                for (int j = 0; j < countVertex; j++)
                {
                    graph[i, j] = 0;
                }
            }

            for (int i = 0; i < countVertex; i++)          // для каждой вершины в графе
            {
                int numConnection;                         // кол-во ребер, исходящих от данной вершины
                do
                {
                    numConnection = rnd.Next(0, countVertex);
                } while (numConnection >= countVertex);    // должно быть меньше, чем кол-во вершин графа

                int haveConnection = 0;                    // кол-во уже исходящих ребер из данной вершины
                for (int s = 0; s < countVertex; s++)
                {
                    if (graph[i, s] == 1)
                    {
                        haveConnection++;
                    }
                }

                numConnection = numConnection - haveConnection;
                for (int j = 0; j < numConnection; j++)                               // для каждой вершины
                {
                    var numTry = 20;                                                  // 20 попыток

                    while (numTry > 0)                                                // пока соединение не найдено
                    {
                        var connectVert = RandomVertex(countVertex, i);               // найти случайную вершину, кроме изначальной
                        if (graph[i, connectVert] == 1 || graph[connectVert, i] == 1) // если связь с этой вершиной уже есть, то
                        {
                            numTry--;                                                 // уменьшить кол-во попыток
                        }
                        else
                        {
                            graph[i, connectVert] = 1;
                            graph[connectVert, i] = 1;     // иначе добавить вершину
                            break;                         // выйти из цикла
                        }
                    }
                }
            }
        }
Example #10
0
        // ввод графа с клавиатуры
        public static void FormGraph(out int[,] graph)
        {
            int countVertex = AskData.ReadIntNumber("Введите количество вершин графа (от 2 до 20): ", 2, 20);

            graph = new int[countVertex, countVertex];
            for (int i = 0; i < countVertex; i++)
            {
                for (int j = i + 1; j < countVertex; j++)
                {
                    Console.WriteLine("Соединение вершин {0} и {1}", i + 1, j + 1);
                    graph[i, j] = AskData.ReadIntNumber("Введите 0 или 1:", 0, 1);
                    graph[j, i] = graph[i, j];
                }
            }
        }
Example #11
0
        //формирование списка из n элементов путем добавления элементов в конец списка с клавиатуры
        public static UnidirectionalList MakeListToEndHand(int size) //добавление в конец
        {
            int info = AskData.ReadIntNumber("Введите 1 элемент: ", MININT_VALUE, MAXINT_VALUE);
            UnidirectionalList beg = MakePoint(info);
            UnidirectionalList r   = beg;

            for (int i = 2; i <= size; i++)
            {
                Console.Write("Введите {0} элемент:", i);
                info = AskData.ReadIntNumber("", MININT_VALUE, MAXINT_VALUE);
                UnidirectionalList p = MakePoint(info);
                r.next = p;
                r      = p;
            }
            return(beg);
        }
Example #12
0
File: List.cs Project: jancuz/ex10
        //формирование списка из n элементов путем добавления элементов в конец списка с клавиатуры
        static LinkedList MakeListToEndHand(int size) //добавление в конец
        {
            Console.WriteLine("Введите 1 элемент:");
            int        info = AskData.ReadIntNumber("Введите 1 элемент (от -100 до 100):", MININT_VALUE, MAXINT_VALUE);
            LinkedList beg  = MakePoint(info);
            LinkedList r    = beg;

            for (int i = 2; i <= size; i++)
            {
                Console.WriteLine("Введите {0} элемент:", i);
                info = AskData.ReadIntNumber("", MININT_VALUE, MAXINT_VALUE);
                LinkedList p = MakePoint(info);
                r.next = p;
                r      = p;
            }
            return(beg);
        }
Example #13
0
File: List.cs Project: jancuz/ex10
        public static LinkedList RunAddPoint(LinkedList beg, int number, ref int size) //для добавления элемента списка двумя способами
        {
            int        check    = 0;
            LinkedList NewPoint = null;

            PrintForm();
            check = AskData.ReadIntNumber("", 1, 3);
            switch (check)
            {
            case 1: NewPoint = FormAddPointHand(NewPoint); beg = AddPoint(beg, NewPoint, number, ref size); break;

            case 2: NewPoint = FormAddPointRandom(NewPoint); beg = AddPoint(beg, NewPoint, number, ref size); break;

            case 3: Console.WriteLine("Элемент не был добавлен!"); break;
            }
            return(beg);
        }
Example #14
0
File: List.cs Project: jancuz/ex10
        public static LinkedList MakeList(ref int size) //для формирования списка двумя способами
        {
            int        checkMakeList = 0;
            LinkedList beg           = null;

            PrintForm();
            checkMakeList = AskData.ReadIntNumber("", 1, 3);
            switch (checkMakeList)
            {
            case 1: beg = MakeListToEndHand(size); Console.WriteLine("Однонаправленный список сформирован"); break;

            case 2: beg = MakeListToEndRandom(size); Console.WriteLine("Однонаправленный список сформирован"); break;

            case 3: size = 0; Console.WriteLine("Однонаправленный список не сформирован!"); break;
            }
            return(beg);
        }
Example #15
0
        static void Main(string[] args)
        {
            int k = AskData.ReadIntNumber("Введите число k (не менее 2): ", 2, int.MaxValue);

            int[] codingCard   = new int[k];    // массив перестановки чисел
            int[] decodingCard = new int[k];    // декодирующая карта

            // ввод перестановки чисел
            for (int i = 0; i < k; i++)
            {
                codingCard[i] = AskData.ReadIntNumber("Введите новую позицию элемента:", 1, k) - 1;
            }

            // формирование декодирующей карты
            for (int i = 0; i < k; i++)
            {
                decodingCard[codingCard[i]] = i;
            }

            Console.WriteLine("Введите слово:");
            string word         = Console.ReadLine(); // слово, введенное пользователем
            string codingWord   = "";                 // закодированное слово
            string decodingWord = "";                 // декодированное слово

            if (word.Length % k > 0)
            {
                word = word.PadRight(word.Length + (k % word.Length)); // заполнение слова недостающими пробелами
            }
            int block = word.Length / k;                               // кол-во блоков

            for (int i = 0; i < block; i++)                            // просмотр каждого блока
            {
                for (int j = 0; j < k; j++)                            // просмотр каждого элемента блока
                {
                    codingWord   += word[codingCard[j]];               // шифрование по заданной последовательности
                    decodingWord += word[decodingCard[j]];             // дешифрование по заданной последовательности
                }
                word = word.Remove(0, k);                              // удаление расшифрованного блока
            }

            Console.WriteLine("Зашифрованное слово от заданного: {0}", codingWord);
            Console.WriteLine("Дешифрованное слово от заданного: {0}", decodingWord);

            Console.WriteLine("\nНажмите Enter для завершения работы с программой");
            Console.ReadLine();
        }
Example #16
0
        static void Run()//работа с однонаправленными списками
        {
            int        checkRun1 = 0, left = 1, right = 5, number = 0;
            int        size     = 0;
            const int  MIN_SIZE = 2;
            const int  MAX_SIZE = 100;
            LinkedList beg      = null;

            do
            {
                PrintMenu();
                checkRun1 = AskData.ReadIntNumber("Введите номер пункта, который хотите выполнить", left, right);
                switch (checkRun1)
                {
                case 1:     //создать список
                {
                    size = AskData.ReadIntNumber("Введите количество элементов списка (от 2 до 100):", MIN_SIZE, MAX_SIZE);
                    beg  = LinkedList.MakeList(ref size);
                    break;
                }

                case 2:     //печать списка
                {
                    LinkedList.ShowList(beg);
                    break;
                }

                case 3:     //добавить элемент
                {
                    beg = LinkedList.RunAddPoint(beg, number, ref size);
                    break;
                }

                case 4:
                {
                    int numDel = AskData.ReadIntNumber("Введите номер элемента для удаления", 1, MAX_SIZE);
                    beg = LinkedList.DelElement(beg, numDel);
                    break;
                }
                }
            } while (checkRun1 != right);
        }
Example #17
0
        static void Main(string[] args)
        {
            // ввод трех комплексных чисел
            double  u1 = AskData.ReadDoubleNumber("Введите действительную часть числа U:", double.MinValue, double.MaxValue);
            double  u2 = AskData.ReadDoubleNumber("Введите мнимую часть числа U: ", double.MinValue, double.MaxValue);
            Complex u  = new Complex(u1, u2);

            Console.WriteLine();

            double  v1 = AskData.ReadDoubleNumber("Введите действительную часть числа V: ", double.MinValue, double.MaxValue);
            double  v2 = AskData.ReadDoubleNumber("Введите мнимую часть числа V: ", double.MinValue, double.MaxValue);
            Complex v  = new Complex(v1, v2);

            Console.WriteLine();

            double  w1 = AskData.ReadDoubleNumber("Введите действительную часть числа W: ", double.MinValue, double.MaxValue);
            double  w2 = AskData.ReadDoubleNumber("Введите мнимую часть числа W: ", double.MinValue, double.MaxValue);
            Complex w  = new Complex(w1, w2);

            Console.WriteLine();
            // выполенение выражения по действиям
            Complex res1 = 2 * u;
            Complex res2 = 3 * u;
            Complex res3 = res2 * w;
            Complex res4 = 2 + w;
            Complex res5 = res4 - v;

            if (res5.RealNumber == 0 && res5.ImaginaryNumber == 0) // проверка знаменателя
            {
                Console.WriteLine("Деление на ноль!");
            }
            else
            {
                Complex res6 = res3 / res5;
                Complex res7 = res1 + res6;
                Complex res  = res7 - 7;
                Complex.Show(res);
            }

            Console.WriteLine("Нажмие Enter для завершения работы программы ...");
            Console.ReadLine();
        }
Example #18
0
        static void Main(string[] args)
        {
            int n, k;

            int[] arr;
            Console.WriteLine("Сочетания из N по K с повторениями:");
            n = AskData.ReadIntNumber("Введите N: ", 1, int.MaxValue);
            k = AskData.ReadIntNumber("Введите K: ", 1, int.MaxValue);
            Console.WriteLine();
            arr = new int[k];       // массив элементов подмножества
            for (int i = 0; i < k; i++)
            {
                arr[i] = 1;
            }
            Print(arr, k);
            while (NextSet(ref arr, n, k))
            {
                Print(arr, k);
            }

            Console.WriteLine("Для завершения работы нажмите Enter");
            Console.ReadLine();
        }
Example #19
0
        public Contact Create(IContactView view)
        {
            Contact c = new Contact();

            c.Comment    = view.Comment;
            c.Company    = view.Company;
            c.Email      = view.Email;
            c.FirstName  = view.FirstName;
            c.LastName   = view.LastName;
            c.Phone      = view.Phone;
            c.WebSite    = view.WebSite;
            c.PostalCode = view.PostalCode;

            if (!c.IsValid())
            {
                throw new InvalidDomainModelException(c.ValidationResults());
            }

            IUserInfo u = new UserInfo("Contactos", "OCA", Config.ContactMail);

            var data = new AskData
            {
                FullName = string.Format("{0} {1}", c.FirstName, c.LastName),
                Contact  = c
            };

            var template = new FileMessageTemplate {
                Discriminator = "ask", Owner = u
            };

            template.SystemData = data;
            _messageSenderService.Send(template, u);

            _contactRepository.SaveOrUpdate(c);

            return(c);
        }
Example #20
0
        static void Run()//работа с однонаправленными списками
        {
            int checkRun1 = 0, left = 1, right = 3;
            int size               = 0;
            UnidirectionalList beg = null;

            do
            {
                PrintMenu();
                checkRun1 = AskData.ReadIntNumber("Введите номер пункта, который хотите выполнить", left, right);
                switch (checkRun1)
                {
                case 1:     //создать список
                {
                    size = AskData.ReadIntNumber("Введите количество элементов списка:", MIN_SIZE, MAX_SIZE);
                    beg  = UnidirectionalList.MakeList(ref size);
                    UnidirectionalList.ShowList(beg);
                    break;
                }

                case 2:     //pos и neg списки
                {
                    UnidirectionalList begPos = null;
                    UnidirectionalList begNeg = null;
                    beg = UnidirectionalList.FormPosAndNegList(beg, ref begPos, ref begNeg);
                    Console.WriteLine("Главный список:");
                    UnidirectionalList.ShowList(beg);
                    Console.WriteLine("Список, состоящий из положительных элементов:");
                    UnidirectionalList.ShowList(begPos);
                    Console.WriteLine("Список, состоящий из отрицательных элементов:");
                    UnidirectionalList.ShowList(begNeg);
                    break;
                }
                }
            } while (checkRun1 != right);
        }
Example #21
0
        static void Run()
        {
            int checkRun = 0, left = 1, right = 3;

            do
            {
                PrintMenu();
                checkRun = AskData.ReadIntNumber("Введите номер пункта, который хотите выполнить", left, right);
                switch (checkRun)
                {
                case 1:                                                         // ввод графа с клавиатуры
                {
                    Graph.FormGraph(out int[,] graph);                          // формирование графа
                    Graph.ShowGraph(graph);                                     // печать графа
                    int         countVert = graph.GetLength(0);                 // кол-во вершин в графе
                    int         startVert = AskData.ReadIntNumber("Введите номер вершины, от которой требуется найти эйлеров цикл:", 1, countVert) - 1;
                    Stack <int> res       = new Stack <int>();                  // эйлеров цикл
                    Graph.EulerCycle(startVert, ref res, countVert, ref graph); // поиск эйлерового цикла
                    Graph.ShowEulerCycle(res);                                  // печать цикла
                    break;
                }

                case 2:                                                         // формирование графа с помощью ДСЧ
                {
                    Graph.FormRandomGraph(out int[,] graph);                    // формирование графа
                    Graph.ShowGraph(graph);                                     // печать графа
                    int         countVert = graph.GetLength(0);                 // кол-во вершин в графе
                    int         startVert = AskData.ReadIntNumber("Введите номер вершины, от которой требуется найти эйлеров цикл:", 1, countVert) - 1;
                    Stack <int> res       = new Stack <int>();                  // эйлеров цикл
                    Graph.EulerCycle(startVert, ref res, countVert, ref graph); // поиск эйлерового цикла
                    Graph.ShowEulerCycle(res);                                  // печать цикла
                    break;
                }
                }
            } while (checkRun != right);
        }
 public bool AddAskData(AskData disownObject)
 {
     bool ret = otapiPINVOKE.OfferListMarket_AddAskData(swigCPtr, AskData.getCPtr(disownObject));
     if (otapiPINVOKE.SWIGPendingException.Pending) throw otapiPINVOKE.SWIGPendingException.Retrieve();
     return ret;
 }
Example #23
0
 internal static HandleRef getCPtr(AskData obj)
 {
     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AskData obj) {
   return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
 }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AskData obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Example #26
0
 internal static HandleRef getCPtr(AskData obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }