Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
#1

Написать класс "Параллельная прямая"

05.06.2017, 09:46. Просмотров 405. Ответов 24
Метки нет (Все метки)

всем привет, есть такое задание:
Определить класс Point с полями x, y и класс Otrezok с полями Point p1, p2; и полями k, b.
чем являются k и b для прямой? и какими типами лучше их представить?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2017, 09:46
Ответы с готовыми решениями:

Класс "Прямая". Перегрузка операторов
Очень нужна ваша помощь, скоро сдавать лабораторную, а у меня затруднения.. Не...

Описать класс "Прямая"
класс - прямая члены класса - Координаты двух точек (x1,y1) и (x2,y2) методы...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления"
Помогите с кодом написания задачи, не понимаю как написать классы в классе. ...

24
DrOffset
7597 / 4566 / 1106
Регистрация: 30.01.2014
Сообщений: 7,429
05.06.2017, 10:03 #2
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
чем являются k и b для прямой?
Читать здесь.
1
wk__
10 / 8 / 6
Регистрация: 14.05.2017
Сообщений: 58
05.06.2017, 10:22 #3
У прямых коэффициенты k должны быть равны друг другу, они показывает наклон прямой. Если у 2-х прямых k равны, а b различны, значит прямые параллельны.
1
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 10:28  [ТС] #4
DrOffset, wk__, отлично, тогда идем далее.
Написать конструктор-инициализатор, после инициализации отрезка конструктор должен определять параметра k и b прямой.
Как вот это понять? Т.е. в к-тор подается координаты двух точек, и в теле к-тора расчитываются k и b?
0
wk__
10 / 8 / 6
Регистрация: 14.05.2017
Сообщений: 58
05.06.2017, 10:38 #5
Ferrari F1, может как то так?
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
class Point
{
    double x, y;
    
    Point(double x, double y)
        : x(x), y(y)
    {
    }
    
    Point(const Point p)
    {
        x = p.x;
        y = p.y;
    }
};
 
class Otrezok
{
    Point p1, p2;
    double k, b;
    
    Otrezok(Point p1, Point p2)
        : p1(p1), p2(p2)
    {
        // Здесь посчитать k и b
        k = ...
        b = ...
    }
};
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 10:41  [ТС] #6
wk__, да) верно) но как эти k и b просчитывать? мне не ясно

Добавлено через 48 секунд
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
#include <iostream>
using namespace std;
 
class Point
{
    signed int x, y;
 
public:
 
    Point(signed int _x, signed int _y) : x(_x), y(_y)
    {   };
};
 
class Otrezok
{
    Point p1, p2;
    double k, b;
 
public:
 
    Otrezok(Point _p1, Point _p2) : p1(_p1), p2(_p2)
    {   }
};
 
int main()
{
    system("pause");
}
0
mat_for_c
211 / 206 / 76
Регистрация: 26.04.2013
Сообщений: 957
Завершенные тесты: 3
05.06.2017, 10:47 #7
C++
1
2
k = (p2.x - p1.x)/(p2.y - p1.y);
b = p2.y - k * p2.x;
+ дописать всякие проверки (0./0. = NaN для типа double)
1
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 10:49  [ТС] #8
mat_for_c, а b как находить? выражать с известным k?
0
mat_for_c
211 / 206 / 76
Регистрация: 26.04.2013
Сообщений: 957
Завершенные тесты: 3
05.06.2017, 10:54 #9
пордон, ошибся.
C++
1
k = (p2.y - p1.y)/(p2.x - p1.x)
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 10:57  [ТС] #10
mat_for_c, т.е. тело к-тора должно быть таким?
C++
1
2
k = (p2.y - p1.y)/(p2.x - p1.x)
b = p2.y - k * p2.x;
0
mat_for_c
211 / 206 / 76
Регистрация: 26.04.2013
Сообщений: 957
Завершенные тесты: 3
05.06.2017, 10:59 #11
Ferrari F1, да, + для k дописать проверки
1
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 11:04  [ТС] #12
mat_for_c, ок, теперь такое:
написать методы про обработке точек: void PutPoint(int цвет), void PutLine(int цвет) - отобразить точку и отрезок
это както через win api делается?
0
mat_for_c
211 / 206 / 76
Регистрация: 26.04.2013
Сообщений: 957
Завершенные тесты: 3
05.06.2017, 11:07 #13
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
это как-то через win api делается?
думаю да, но с вин апи не работал.

P.s. заметьте, что если k = бесконечности, уравнение прямой выглядит в таком виде x = b
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 13:16  [ТС] #14
mat_for_c, ок) еще парочка методов осталась:
Otrezok Parallel(Point M); - вычисляет и возвращает координаты отрезка, проходящего через точку M и параллельного текущему отрезку L. Обращение L2 = L.Parallel(M);
C этим как поступать?

Добавлено через 2 часа 4 минуты
pls help!)
0
MrGluck
Модератор
Эксперт CЭксперт С++
8054 / 4898 / 1426
Регистрация: 29.11.2010
Сообщений: 13,296
05.06.2017, 14:01 #15
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
чем являются k и b для прямой?
Коэффициентами уравнения прямой, заданной уравнением с угловым коэффициентом.
0
wk__
10 / 8 / 6
Регистрация: 14.05.2017
Сообщений: 58
05.06.2017, 16:58 #16
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
чем являются k и b для прямой?
перечитайте 10 класс геометрии
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
05.06.2017, 16:59  [ТС] #17
wk__, некогда)
0
wk__
10 / 8 / 6
Регистрация: 14.05.2017
Сообщений: 58
05.06.2017, 17:04 #18
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
некогда)
тогда подобные вопросы будут постоянно появляться.
0
Ferrari F1
05.06.2017, 17:11  [ТС]
  #19

Не по теме:

wk__, на работе сижу, не до этого)

0
wk__
05.06.2017, 17:14     Написать класс "Параллельная прямая"
  #20

Не по теме:

:) ...

0
05.06.2017, 17:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2017, 17:14
Привет! Вот еще темы с ответами:

Базовый класс "Изделие" и производные классы "Мышь", "Клавиатура", "Монитор"
/*Создать класс изделие, с полями себестоимость, цена, время выполнения,...

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число"
Ткма работы создать класс pair (пара чисел); определить метод перемножения...

Создать класс комплексных чисел и ввести операции: "+", "-", "*", "/".
пожалуйста-помогите написатьпрограмму!!! сижу на экзамене!!! вот само задание:...


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

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

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