Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
7 / 7 / 3
Регистрация: 07.04.2013
Сообщений: 85
1

нужно посчитать, сколько можно провести прямых, которые не будут параллельны другим прямым уже находящимся на коорд. плоскости.

03.05.2013, 22:18. Просмотров 643. Ответов 4
Метки нет (Все метки)

Вообщем нам даны N пар чисел X и Y, обозначающие координаты точек.
Нам нужно посчитать, сколько можно провести прямых, которые не будут параллельны другим прямым уже находящимся на коорд. плоскости.
Спасибо заранее!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2013, 22:18
Ответы с готовыми решениями:

Сколько можно провести прямых?
Всем доброго времени суток!!! Пожалуйста, помогите решить задачу: Дано n-точек, никакие 3 из...

Переписать из таблицы f в таблицу g коэффициенты тех прямых, которые: параллельны первой из прямых
Прямая на плоскости задается уравнением ax+by+c=0 , где a и b од-новременно не равны нулю. Будем...

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

Найти касательные плоскости к поверхности, которые параллельны данной плоскости
2) Найти те касательные плоскости к поверхности 4x^2+6y^2+4z^2+4xz-8y-4z+3=0, которые параллельны...

4
3050 / 1455 / 492
Регистрация: 29.11.2010
Сообщений: 2,888
04.05.2013, 12:52 2
Странная задача.
Так как на плоскости бесконечное количество линий, ответ будет -- бесконечное количество.

Добавлено через 2 минуты
Зачем тут еще N линий -- непонятно.
0
1346 / 986 / 312
Регистрация: 28.07.2012
Сообщений: 2,743
04.05.2013, 13:40 3
yutr777, первое что приходит в голову - это пробежать по всем парам точек, для каждой пары вычислять вектор направления. Ищем этот вектор среди прошлых(Они могут быть однонаправленные и разнонаправленные), если такой нашелся, то прямая через эти точки паралельна какой-то другой в прошлом. Если такой же вектор не нашелся, то мы нашли еще одну не паралельную прямую.

Добавлено через 1 минуту
Еще можно попробовать рассматривать не вектор направления, а например тангенс угла наклона.
0
7 / 7 / 3
Регистрация: 07.04.2013
Сообщений: 85
05.05.2013, 07:56  [ТС] 4
Цитата Сообщение от nonedark2008 Посмотреть сообщение
yutr777, первое что приходит в голову - это пробежать по всем парам точек, для каждой пары вычислять вектор направления. Ищем этот вектор среди прошлых(Они могут быть однонаправленные и разнонаправленные), если такой нашелся, то прямая через эти точки паралельна какой-то другой в прошлом. Если такой же вектор не нашелся, то мы нашли еще одну не паралельную прямую.

Добавлено через 1 минуту
Еще можно попробовать рассматривать не вектор направления, а например тангенс угла наклона.
вот что я написал через угловые коэф. вроде правильно? код легкий....разобраться можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <algorithm>
#include <set>
 
using namespace std;
 
int main()
{
int n;
cin >> n;
double kof;
int a[201],b[201];
for (int i=0;i<n;i++)
{
    cin >> a[i] >> b[i];
}
set <double> s;
int ans=0;
for (int i=0;i<n;i++)
    for (int j=i+1;j<n;j++)
    {
        int x1=a[i];int x2=a[j];
        int y1=b[i];int y2=b[j];
        if (y2-y1==0){kof=2000;goto pr;}
        kof=(y2-y1)/(x2-x1);
        pr:
               if (s.find(kof) != s.end())
        {
                        continue;
        }
        else {
             ans++;
             s.insert(kof);
             }
    }
cout << ans;
return 0;
}
0
1346 / 986 / 312
Регистрация: 28.07.2012
Сообщений: 2,743
05.05.2013, 13:00 5
Цитата Сообщение от yutr777 Посмотреть сообщение
(y2-y1)/(x2-x1)
Тут целочисленное деление. Будет пахать не как надо...
Цитата Сообщение от yutr777 Посмотреть сообщение
if (y2-y1==0){kof=2000;goto pr;}
Вот в этой проверке не вижу смысла. Стоило бы проверять x2-x1 == 0, потому что тогда тангенс будет неопределен. Но можно эту проверку вообще не делать, т.к. тогда kof просто установится в INF и мы смело можем его искать в сете и добавлять туда.

Не по теме:


goto - выглядит очень не красиво в коде. Старайся заменять его на циклы и условия.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2013, 13:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ветвление. Даны уравнения прямых. Выяснить, какие из этих прямых параллельны
Написать программу: Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из...

Даны уравнения прямых. Выяснить, какие из этих прямых параллельны, и указать, если таковых не имеется.
Помогите решить задачу,, спасибо зарание! Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2,...

Даны уравнения прямых. Выяснить, какие из этих прямых параллельны и указать, если таковых не имеется
Даны уравнения прямых а1х+b1y=c1, a2x+b2y=c2, a3x+b3y=c3. Выяснить, какие из этих прямых...

Переписать в файл Н коэффициенты прямых, которые: а) параллельны первой прямой б) пересекаются с последней прямой
Прямая на плоскости задается уравнением Ах+Ву+С=0, где А и В одновременно не равны 0. Пусть...

Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая вычислит, сколько всего точек с целочисленными коорд
Концы отрезка на плоскости имеют целочисленные координаты. Требуется написать программу, которая...

На плоскости проведены n прямых. На сколько частей делится плосклсть этими прямыми?
Условие:На плоскости проведены n прямых, не параллельных между собой .Никакие три прямые не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.