Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lixord
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 8
#1

Создать класс отрезков - C++

11.07.2013, 21:07. Просмотров 449. Ответов 8
Метки нет (Все метки)

прошу помощи с программой... может это и не так трудно, но я абсолютно не понимаю как это сделать... кто может помогите пожалуйста, и желательно подробнее...

задание:
Создать класс отрезков с данными-членами, являющимися концами отрезка, и функциями-членами нахождения длины отрезка, координаты его середины. Составить и использовать класс-наследник для отрезков длиной в два раза меньше, чем в базовом. Создать пример для демонстрации возможностей класса.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2013, 21:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создать класс отрезков (C++):

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ... - C++
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями - C++
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

На прямой своими концами заданы N отрезков. Найти точку принадлежащую максимальному числу отрезков - C++
Помогите пожалуйста понять, что от меня хотят и какой(как) разработать алгоритм для решения этой задачи. На прямой своими концами...

Создать класс Элемент списка (Node), а затем класс Список (List) - C++
Задание: Создать класс Элемент списка (Node), а затем класс Список (List). В зависимости от варианта список должен быть одно или...

Создать класс Pair(пара чисел) и класс-наследник Fraction - C++
Создать класс Pair (пара чисел); определить методы изменения полей и сравнения пар: пара p1 больше пары p2, если (first.p1>first.p2) или...

8
gray_fox
What a waste!
1551 / 1256 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
11.07.2013, 21:41 #2
Цитата Сообщение от Lixord Посмотреть сообщение
Создать класс отрезков с данными-членами, являющимися концами отрезка, и функциями-членами нахождения длины отрезка, координаты его середины.
Так например:
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
#include <cmath>
 
 
struct point {
 
   point(double const x, double const y) : x(x), y(y) {}
 
   double const x;
   double const y;
};
 
struct line {
 
   line(point const& x, point const& y) : x(x), y(y) {}
 
   double length() const {
      return std::sqrt(std::pow(x.x - y.x, 2) + std::pow(x.y - y.y, 2));
   }
 
   point midpoint() const {
      return point(std::abs(x.x - y.x) / 2, std::abs(x.y - y.y) / 2);
   }
 
   point const x;
   point const y;
};
Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Lixord Посмотреть сообщение
Составить и использовать класс-наследник для отрезков длиной в два раза меньше, чем в базовом.
жесть...)))

1
Lixord
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 8
11.07.2013, 21:48  [ТС] #3
спасибо) попробую теперь помучаться с последним...
0
Valentina
69 / 69 / 3
Регистрация: 13.05.2012
Сообщений: 130
11.07.2013, 21:51 #4
без класса наследника
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
48
49
50
51
#include <iostream>
#include<cmath>
using namespace std;
 
class Line
{
protected:
    double x1,x2,y1,y2;
    int x3,y3;
public:
    Line() : x1(0),x2(0),y1(0),y2(0){}
    void vvod()
    {
        cout<<"Введите значения точки А(x,y): "<<endl;
        cin>>x1>>y1;
        cout<<"Введите значения точки B(x,y): "<<endl;
        cin>>x2>>y2;
    }
    void vyvod()
    {
        cout<<"Координаты точки А равны: ("<<x1<<","<<y1<<")"<<endl;
        cout<<"Координаты точки B равны: ("<<x2<<","<<y2<<")"<<endl;
    }
    int length()
    {
    int l=sqrt(pow((x1-x2),2)+pow((y1-y2),2));
    return l;
    }
    void kor()
    {
        int x3=abs(x1+x2)/2;
        int y3=abs(y1+y2)/2;
        cout<<"Координаты середины отрезка равны: ("<<x3<<","<<y3<<")"<<endl;
    }
};
 
 
int main ( )
{
    setlocale(LC_CTYPE,"rus");
    Line l;
    int dlina;
    l.vvod();
    l.vyvod();
    dlina=l.length();
    cout<<"Длина отрезка равна: "<<dlina<<endl;
    l.kor();
 
system("pause");
  return 0;
}
1
gray_fox
What a waste!
1551 / 1256 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
11.07.2013, 21:55 #5
Ошибся, поправил:
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
#include <cmath>
 
 
struct point {
 
   point(double const x, double const y) : x(x), y(y) {}
 
   double const x;
   double const y;
};
 
struct line {
 
   line(point const& x, point const& y) : x(x), y(y) {}
 
   double length() const {
      return std::sqrt(std::pow(x.x - y.x, 2) + std::pow(x.y - y.y, 2));
   }
 
   point midpoint() const {
      return point((x.x + y.x) / 2, (x.y + y.y) / 2);
   }
 
   point const x;
   point const y;
};
1
Lixord
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 8
11.07.2013, 21:59  [ТС] #6
всем спасибо огромное) буду пытаться сделать класс-наследник...
0
Kuzia domovenok
2125 / 1955 / 194
Регистрация: 25.03.2012
Сообщений: 6,806
Записей в блоге: 1
11.07.2013, 22:55 #7
не пытайся. Задание про "класс-наследник для отрезков длиной в два раза меньше, чем в базовом." - Б.Р.Е.Д.Я.Т.И.Н.А.
1
Lixord
0 / 0 / 0
Регистрация: 11.07.2013
Сообщений: 8
11.07.2013, 23:02  [ТС] #8
эту бредятину дали на практике в универе... ничего так и не смог сделать...
0
Kuzia domovenok
2125 / 1955 / 194
Регистрация: 25.03.2012
Сообщений: 6,806
Записей в блоге: 1
11.07.2013, 23:09 #9
Значит, это не универ, а церковно-приходская школа. Нас обманывают!
0
11.07.2013, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2013, 23:09
Привет! Вот еще темы с ответами:

Класс: создать класс Fraction для работы с дробными числами - C++
Необходимо создать класс Fraction для работы с дробными числами. Число должно быть представлено двумя полями: целая часть – длинное целое...

Создать класс Point и производный класс ColoredPoint (цветная точка) - C++
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте производный класс ColoredPoint (цветная точка), в...

Создать Класс Coins (монеты). Класс сохраняет массив из 3 монет ... - C++
Помогите написать програмку, где: Нужно создать Класс Coins (монеты). Класс сохраняет массив из 3 монет и общее количество лицевых сторон...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки - C++
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...


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

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

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