Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 11.05.2017
Сообщений: 9
1

Определить, параллельна ли прямая оси Y

11.05.2017, 11:23. Показов 3641. Ответов 10
Метки нет (Все метки)

Здравствуйте.
Подскажите, пожалуйста, как в данном конкретном случае правильно определить, параллельна ли прямая оси Y (то есть как правильно написать условие).

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
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <cmath>
 
using namespace std;
 
struct line
{
    double a;
    double b;
};
 
int main()
{
    setlocale(0, "RUS");
 
    int M;
 
    cout << "Введите количество прямых: ";
    cin >> M;
 
    if(M == 0 || M < 0) {
        cout << "Ошибка!";
    } else {
        line *arrLine = new line[M];
        for(int i; i < M; i++) {
            cout << "Введите коэффициент А для уравнения прямой y = A * x + B: ";
            cin >> arrLine[i].a;
            cout << "Введите коэффициент В для уравнения прямой y = A * x + B: "; 
            cin >> arrLine[i].b;
            cout << endl;
        }
 
        int OX, OY;
        for(int i; i < M; i++) {
            if(arrLine[i].a == 0)
                ++OX;
            if((arrLine[i].a == 0 && arrLine[i].b == 0)) // условие вот тут
                ++OY;
        }
        cout << "Количество прямых, параллельных OX - " << OX << ". " << endl;
        cout << "Количество прямых, параллельных OY - " << OY << ". " << endl;
 
        delete [] arrLine;
    }
 
    return 0;
}
Спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2017, 11:23
Ответы с готовыми решениями:

Будет ли прямая, проходящая через 2 точки, параллельна оси
Помогите пожалуйста 1. Создайте структуру, описывающую точку в двумерной системе координат (x,...

Прямая линия задана своими коэффициентами. Определить угол наклона этой прямой к оси OX
Прямая линия задана своими коэффициентами. Определить угол наклона этой прямой к оси OX помоги...

Прямая параллельна плоскости
Дано А(1;0;6 ), В(5;-2;14) ,С(3;4;0 ) середина ВС .D(4;1;7) ? К(5;а;6) ,прямая l=(-1;m;1)...

Доказать, что прямая параллельна плоскости
Доказать, что прямая (x+1)/2=(y+1)/-1=(z-3)/3 параллельна плоскости 2x+y-z=0, а прямая...

10
Форумчанин
Эксперт CЭксперт С++
8171 / 5021 / 1436
Регистрация: 29.11.2010
Сообщений: 13,453
11.05.2017, 11:56 2
C++
1
2
3
4
for (int i = 0; i < M; i++)
    for (int j = i + 1; j < M; j++)
        if (arrLine[i].a == arrLine[j].a)
            // прямые параллельны
Добавлено через 11 минут
Неверно прочитал условие, написал решение для поиска параллельных прямых.
Вот условие параллельности с осью Oy:
C++
1
2
3
for (int i = 0; i < M; i++)
    if (arrLine[i].a == 0)
        // параллельно Оу
1
0 / 0 / 0
Регистрация: 11.05.2017
Сообщений: 9
11.05.2017, 12:03  [ТС] 3
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
2
3
4
for (int i = 0; i < M; i++)
    for (int j = i + 1; j < M; j++)
        if (arrLine[i].a == arrLine[j].a)
            // прямые параллельны
Добавлено через 11 минут
Неверно прочитал условие, написал решение для поиска параллельных прямых.
Вот условие параллельности с осью Oy:
C++
1
2
3
for (int i = 0; i < M; i++)
    if (arrLine[i].a == 0)
        // параллельно Оу
Разве?
Если в уравнении y = Ax + B A будет равно 0, то прямая будет параллельная Оси Х. Значения Х меняются, значения Y от них не зависят. Такое условие у меня сделано как раз для проверки параллельности прямой Оси Х.
0
шКодер самоучка
2145 / 1856 / 907
Регистрация: 09.10.2013
Сообщений: 4,056
Записей в блоге: 7
11.05.2017, 12:19 4
graphanex, для уравнения прямой в виде https://www.cyberforum.ru/cgi-bin/latex.cgi?y = Ax + B нельзя составить условие параллельности https://www.cyberforum.ru/cgi-bin/latex.cgi?Oy
Его можно составить для общего уравнения прямой
прямая https://www.cyberforum.ru/cgi-bin/latex.cgi?Ax + By + C = 0 параллельна https://www.cyberforum.ru/cgi-bin/latex.cgi?Oy при https://www.cyberforum.ru/cgi-bin/latex.cgi?B = 0
1
0 / 0 / 0
Регистрация: 11.05.2017
Сообщений: 9
11.05.2017, 12:22  [ТС] 5
Цитата Сообщение от Max Dark Посмотреть сообщение
graphanex, для уравнения прямой в виде https://www.cyberforum.ru/cgi-bin/latex.cgi?y = Ax + B нельзя составить условие параллельности https://www.cyberforum.ru/cgi-bin/latex.cgi?Oy
Его можно составить для общего уравнения прямой
прямая https://www.cyberforum.ru/cgi-bin/latex.cgi?Ax + By + C = 0 параллельна https://www.cyberforum.ru/cgi-bin/latex.cgi?Oy при https://www.cyberforum.ru/cgi-bin/latex.cgi?B = 0
И как же тогда быть, если мое задание выглядит так:

"Создайте структуру Прямая с элементами a, b – коэффициенты уравнения
y=ax+b. Для M заданных прямых определить k1 – количество прямых,
параллельных оси ОХ, и k2 – количество прямых, параллельных оси ОY",


а преподаватель настаивает, что условие написать можно?
Может, я не так его понимаю и код в принципе написан неверно?
0
Форумчанин
Эксперт CЭксперт С++
8171 / 5021 / 1436
Регистрация: 29.11.2010
Сообщений: 13,453
11.05.2017, 12:46 6
Цитата Сообщение от graphanex Посмотреть сообщение
Разве?
Если в уравнении y = Ax + B A будет равно 0, то прямая будет параллельная Оси Х. Значения Х меняются, значения Y от них не зависят. Такое условие у меня сделано как раз для проверки параллельности прямой Оси Х.
Вот видите, вы даже лучше меня разбираетесь)

Уравнение вида https://www.cyberforum.ru/cgi-bin/latex.cgi?y = kx + b называется "Уравнение прямой с угловым коэффициентом". При этом, угловой коэффициент прямой есть тангенс угла наклона этой прямой, то есть https://www.cyberforum.ru/cgi-bin/latex.cgi?k = tg\alpha. А для 90* tg не определён (стремится в бесконечность). Так что для данного вида уравнения проверить параллельность оси ординат не выйдет.
А я действительно привёл условие для проверки параллельности оси абсцисс.

Добавлено через 2 минуты
Нашёл выдержку
Если прямая параллельна оси ординат, то угловой коэффициент обращается в бесконечность (в этом случае также говорят, что угловой коэффициент не существует). Другими словами, мы не можем написать уравнение прямой с угловым коэффициентом для прямой, параллельной оси Oy или совпадающей с ней.
1
шКодер самоучка
2145 / 1856 / 907
Регистрация: 09.10.2013
Сообщений: 4,056
Записей в блоге: 7
11.05.2017, 12:50 7
Лучший ответ Сообщение было отмечено graphanex как решение

Решение

Цитата Сообщение от graphanex Посмотреть сообщение
условие написать можно?
Хм...
Перепишем уравнение
https://www.cyberforum.ru/cgi-bin/latex.cgi?1y = ax + b \rightarrow  \frac{1}{a}y - x - \frac{b}{a} = 0
Из этого выведем коэффициенты общего уравнения
https://www.cyberforum.ru/cgi-bin/latex.cgi?A = -1, B = \frac{1}{a}, C = \frac{b}{a}
Прямая параллельна Oy при
https://www.cyberforum.ru/cgi-bin/latex.cgi?B=0 \rightarrow \frac{1}{a}=0
следовательно a должно быть равно бесконечности
https://www.cyberforum.ru/cgi-bin/latex.cgi?a=\infty
1
0 / 0 / 0
Регистрация: 11.05.2017
Сообщений: 9
11.05.2017, 13:05  [ТС] 8
Цитата Сообщение от Max Dark Посмотреть сообщение
следовательно a должно быть равно бесконечности
То есть мне нужно в условии проверить, введенное А на бесконечность? А такое вообще возможно? Я про проверку на бесконечность в C++.

Добавлено через 7 минут
Достаточно сделать так?

C++
1
if(arrLine[i].b ==0 && (1 / arrLine[i].a == 0))
0
Форумчанин
Эксперт CЭксперт С++
8171 / 5021 / 1436
Регистрация: 29.11.2010
Сообщений: 13,453
11.05.2017, 13:07 9
Цитата Сообщение от graphanex Посмотреть сообщение
А такое вообще возможно? Я про проверку на бесконечность в C++.
Проверить то можно
http://en.cppreference.com/w/c... s/infinity
А вот как ввести такое.. мне кажется никак.
1
шКодер самоучка
2145 / 1856 / 907
Регистрация: 09.10.2013
Сообщений: 4,056
Записей в блоге: 7
11.05.2017, 13:12 10
graphanex, от b тут не зависит, только от a
Цитата Сообщение от graphanex Посмотреть сообщение
А такое вообще возможно? Я про проверку на бесконечность в C++
Проверить на бесконечность - isinf
Но как ввести бесконечность - я не представляю.
1
0 / 0 / 0
Регистрация: 11.05.2017
Сообщений: 9
11.05.2017, 13:18  [ТС] 11
Цитата Сообщение от Max Dark Посмотреть сообщение
Проверить на бесконечность - isinf
О. Спасибо. Проверю так.

Цитата Сообщение от MrGluck Посмотреть сообщение
А вот как ввести такое.. мне кажется никак.
Цитата Сообщение от Max Dark Посмотреть сообщение
Но как ввести бесконечность - я не представляю.
Хорошо. Спасибо. Расскажу о и покажу преподавателю то, что есть.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2017, 13:18

Докажите, что прямая SQ параллельна прямой KP
Точки M и N - середины ребер AB и CD тетраэдра ABCD. Точки K, P, Q, S - середины отрезков AN, CM,...

Докажите, что прямая параллельна основаниям трапеции
В трапеции ABCD с основаниями AD и BC через точку B проведена прямая, параллельная стороне CD и...

Определить, пересекает ли прямая обе оси координат
Помогите с задачкой. Вроде бы легко, но я в геометрии не ок. Прямая на плоскости может быть задана...

При каком значении параметра прямая параллельна плоскости?
Как решить ? желательно только ответ При каком значении параметра а прямая...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru