Esempio n. 1
0
            //Zadanie2();
            //Zadanie3();
            //Zadanie4a();
            //Zadanie4b();
            //Zadanie5();
            //Zadanie6();
            //Zadanie7(); //zakomentowane z powodu błędu przeciążenia
            //Zadanie8();
            //Zadanie9();
            //Zadanie10()

            static void Zadanie1()
            {
                Console.WriteLine("\nZADANIE 1");
                const int      rad = 3;
                double         x, y;
                List <Point2D> list = new List <Point2D>();

                for (int i = 0; i <= 2; i++)
                {
                    Console.WriteLine("Podaj 1 wspolrzedna punktu {0}", i);
                    x = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("Podaj 2 wspolrzedna punktu {0}", i);
                    y = Convert.ToDouble(Console.ReadLine());

                    Point2D p = new Point2D(x, y);
                    list.Add(p);
                }

                int inside_flag = 0;

                while (inside_flag == 0)
                {
                    Console.WriteLine("\nPodaj 1 wspolrzedna punktu sprawdzanego");
                    x = Convert.ToDouble(Console.ReadLine());
                    if (x < 0)
                    {
                        Console.WriteLine("Wprowadzono ujemna wspolrzedna, koniec programu.");
                        break;
                    }
                    Console.WriteLine("Podaj 2 wspolrzedna punktu sprawdzanego");
                    y = Convert.ToDouble(Console.ReadLine());
                    if (y < 0)
                    {
                        Console.WriteLine("Wprowadzono ujemna wspolrzedna, koniec programu.");
                        break;
                    }
                    Point2D p_sprawdzany = new Point2D(x, y);

                    double min_distance = double.MaxValue;
                    foreach (Point2D p in list)
                    {
                        double distance = p_sprawdzany.Dist(p);
                        if (distance < min_distance)
                        {
                            min_distance = distance;
                        }
                        if (distance < rad)
                        {
                            Console.WriteLine("\nPunkt o wspolrzednych:");
                            p_sprawdzany.Print2DPoint();
                            Console.WriteLine("jest wewnątrz kola o promieniu {0} i srodku w punkcie:", rad);
                            p.Print2DPoint();
                            inside_flag = 1;
                            break;
                        }
                    }
                    if (inside_flag == 0)
                    {
                        Console.WriteLine("\nPunkt o wspolrzednych:");
                        p_sprawdzany.Print2DPoint();
                        Console.WriteLine("nie znajduje sie wewnatrz zadnego z okregow. Odleglosc do najblizszego punktu wynosi: {0}\nWprowadz nowy punkt do sprawdzenia:", min_distance);
                    }
                }
            }