Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11784
Последний выпуск: 19.06.2015

Дано множество точек на плоскости. Сколько точек не принадлежит прямой, проходящей через две первые точки?

98K
06 апреля
Тихон Ворушило
1 / / 06.04.2017
Доброго вечера!
Помогите, пожалуйста, с таким заданием:
Дано множество точек на плоскости. Сколько точек не принадлежит прямой, проходящей через две первые точки?
Не совсем понимаю, какие точки именно нужно проверять ? Нужно новые вводить и проверять? Саму прямую я создал

Вот часть основного кода:
Код:
/////МАССИВ ТОЧЕК
            int n, i, j;
            Console.WriteLine("Введите количество точек: ");
            n = Int32.Parse(Console.ReadLine());
            Point[] mas = new Point[n];
            for (i = 0; i < n; i++)
            {
                mas[i] = new Point();
                mas[i].Input_Point();
            }

int kol1 = 0, kol2 = 0, kol3 = 0;
            int nom1 = 0, nom2 = 0;
            Console.WriteLine("Введите номера точек массива для построения прямой:");
            nom1 = Int32.Parse(Console.ReadLine());
            nom2 = Int32.Parse(Console.ReadLine());
            if (mas[nom1] == mas[nom2])
            {
                Console.WriteLine("Указаны две одинаковые точки. Прямую построить невозможно");
                Console.ReadKey();
                return;
            }
            Prjamaja pr3 = new Prjamaja(mas[nom1], mas[nom2]);
            double a, b, c, d, k;
            a = pr3.Koef_a;
            b = pr3.Koef_b;
            c = pr3.Koef_c;
            d = -c / b;
            k = -a / b;
            for (i = 0; i < n; i++)
                if (mas[i].koord_y > k * mas[i].koord_x + d)
                    kol1++;
                else
                    if (mas[i].koord_y < k * mas[i].koord_x + d)
                    kol2++;
                else
                    kol3++;
            Console.WriteLine("Над прямой расположено точек: " + kol1);
            Console.WriteLine("Под прямой расположено точек: " + kol2);
            Console.WriteLine("На прямой расположено точек: " + kol3);

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог