С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25

Создать класс прямоугольных треугольников заданых своими катетами

20.12.2015, 00:21. Показов 4187. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать класс прямоугольных треугольников заданых своими катетами. Создать методы, возвращающие значения площади треугольника, его гипотенузы и сравнивают величины их площадей. C++
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.12.2015, 00:21
Ответы с готовыми решениями:

Дано н прямоугольных треугольников с а и б катетами, причем а + б = 9. Составить программу, которая вычисляет суммарную площадь этих треугольников
Дано н прямоугольных треугольников с а и б катетами, причем а + б = 9. Составить программу, которая вычисляет суммарную площадь этих...

На плоскости задано n различных прямоугольных треугольников. Расположить треугольники в порядке возрастания их площадей с короткими катетами, лежащими
Использовать модуль Graph.На плоскости задано n различных прямоугольных треугольников. Расположить треугольники в порядке возрастания их...

Класс прямоугольных треугольников
Создайте класс прямоугольных треугольников, описав в нём все необходимые свойства, подобрав им понятные имена и правильные типы данных. ...

12
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
20.12.2015, 00:42
В чем проблема?
0
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25
20.12.2015, 00:52  [ТС]
Вообще не понимаю как ее делать. могу в пример дать немного похожую задачу но она более простая и она не сложная:
Создать класс точек в пространстве,заданных координатами.Создать метод, возвращающий расстояние до другой точки в пространстве.С помощью метода определить попадает ли точка в сферу центром координат и заданным радиусом
а вот ее код:
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
52
53
54
55
56
57
#include <iostream.h> 
#include <math.h>   
class Point
{
public:
    Point();
        Point(double x,double y,double z);
    double distanceTo(const Point&p) const;
    bool insideSphere(double r) const;
private:
    double x;
    double y;
    double z;
};
Point::Point()
{
    x=y=z=0.;
}
Point::Point(double x,double y, double z)
{
    this->x=x;
    this->y=y;
    this->z=z;
}
double Point::distanceTo(const Point &p) const
{
    double dx, dy, dz;
    dx=this->x -p.x;
        dy=this->y -p.y;
            dz=this->z -p.z;
            return sqrt(dx*dx+dy*dy+dz*dz);
}
bool Point::insideSphere(double r) const
{
    double d;
    Point zero;
    d=this->distanceTo(zero);
    return d<=r;
}
int main()
{
    double x,y,z,r;
    cout<<"Vvedite koordinatu sferu\n";
    cin>>x>>y>>z;
    cout<<"Vvedite radius sferu\n";
    cin>>r;
    Point p(x,y,z);
    if (p.insideSphere(r))
    {
        cout<<"Tochka vnutri sferu\n";
    }
    else
    {
    cout<<"Tochka NE vnutri sferu\n";
    }
    return 0;
    }
0
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25
20.12.2015, 01:57  [ТС]
Мне нужно написать код для этой задачи: Создать класс прямоугольных треугольников заданых своими катетами. Создать методы, возвращающие значения площади треугольника, его гипотенузы и сравнивают величины их площадей!!
Для примера у меня есть похожая задача но как ее делать с треугольнаками незнаю.
вот пример:Создать класс точек в пространстве,заданных координатами.Создать метод, возвращающий расстояние до другой точки в пространстве.С помощью метода определить попадает ли точка в сферу центром координат и заданным радиусом
вот код примера:
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
52
53
54
55
56
57
#include <iostream.h> 
#include <math.h>   
class Point
{
public:
Point();
Point(double x,double y,double z);
double distanceTo(const Point&p) const;
bool insideSphere(double r) const;
private:
double x;
double y;
double z;
};
Point::Point()
{
x=y=z=0.;
}
Point::Point(double x,double y, double z)
{
this->x=x;
this->y=y;
this->z=z;
}
double Point::distanceTo(const Point &p) const
{
double dx, dy, dz;
dx=this->x -p.x;
dy=this->y -p.y;
dz=this->z -p.z;
return sqrt(dx*dx+dy*dy+dz*dz);
}
bool Point::insideSphere(double r) const
{
double d;
Point zero;
d=this->distanceTo(zero);
return d<=r;
}
int main()
{
double x,y,z,r;
cout<<"Vvedite koordinatu sferu\n";
cin>>x>>y>>z;
cout<<"Vvedite radius sferu\n";
cin>>r;
Point p(x,y,z);
if (p.insideSphere(r))
{
cout<<"Tochka vnutri sferu\n";
}
else
{
cout<<"Tochka NE vnutri sferu\n";
}
return 0;
}
0
 Аватар для Hilkssmar
10 / 10 / 7
Регистрация: 21.12.2014
Сообщений: 28
20.12.2015, 02:01
Прежде чем приступать к самому коду, разберитесь в условиях задачи, и опишите ее на естественном языке:
1. Нам дают катеты, мы должны построить прямоугольный треугольник по ним. В итоге получим 1 метод (ну или функция в классе) т.е конструктор нашего класса который "создает" наш треугольник
2. Строим мы как? Запишите эти катеты в переменные внутри класса. вот и все.
3. дальше реализуйте свои методы(функции в классе), изучайте геометрию, читайте формулы как посчитать площать и тд. Там уже могут быть проверки, разберитесь сначала с этим, чтобы понимать как это сделать
Дальше уже можно начинать программировать

Если чего то не знаете - ищите в гугле)
Посмотрите как устроен класс: это всегда конструктор(функция) создающий обьект(В данном случае - прямоугольный треугольник. ), это ваши поля (переменные внутри класса) это ваши методы (функции которые что то делают. В данном случае вычисление площади и тд)

Если что то не понятно - то спрашивайте конкретнее, например "не знаю как написать конструктор, и вообще не понимаю как он работает и зачем он нужен" А то вы сейчас написали, в ожидании того что вам дадут готовый результат, а форум создан для того чтобы вам помочь, а не сделать за вас вашу работу.
0
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25
20.12.2015, 02:05  [ТС]
Hilkssmar, У меня есть конечно этот пример что я привел выше но именно моя задача расчитанна на много действий и я не понимаю совсем как ее делать. не знаю как написать конструктор

Добавлено через 31 секунду
Croessmah, Вообще не понимаю как ее делать. могу в пример дать немного похожую задачу но она более простая и она не сложная:
Создать класс точек в пространстве,заданных координатами.Создать метод, возвращающий расстояние до другой точки в пространстве.С помощью метода определить попадает ли точка в сферу центром координат и заданным радиусом
а вот ее код:
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
52
53
54
55
56
57
#include <iostream.h> 
#include <math.h>   
class Point
{
public:
Point();
Point(double x,double y,double z);
double distanceTo(const Point&p) const;
bool insideSphere(double r) const;
private:
double x;
double y;
double z;
};
Point::Point()
{
x=y=z=0.;
}
Point::Point(double x,double y, double z)
{
this->x=x;
this->y=y;
this->z=z;
}
double Point::distanceTo(const Point &p) const
{
double dx, dy, dz;
dx=this->x -p.x;
dy=this->y -p.y;
dz=this->z -p.z;
return sqrt(dx*dx+dy*dy+dz*dz);
}
bool Point::insideSphere(double r) const
{
double d;
Point zero;
d=this->distanceTo(zero);
return d<=r;
}
int main()
{
double x,y,z,r;
cout<<"Vvedite koordinatu sferu\n";
cin>>x>>y>>z;
cout<<"Vvedite radius sferu\n";
cin>>r;
Point p(x,y,z);
if (p.insideSphere(r))
{
cout<<"Tochka vnutri sferu\n";
}
else
{
cout<<"Tochka NE vnutri sferu\n";
}
return 0;
}
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
20.12.2015, 02:18
Объявление:
C++
1
2
3
4
5
6
7
8
9
10
11
class RightTriangle
{
public:
    RightTriangle ( double a, double b) ;//Конструктор, принимающий два катета
    double get_area () const ; //Функция-член, возвращающая площадь треугольника
    double get_hypotenuse() const ; //Функция-член, возвращающая длину гипотенузы треугольника
    bool is_areas_equal ( const RightTriangle & triangle ) const ; //Функция-член, которая сравнивает площади треугольников
private:
    double cathetus_a ;
    double cathetus_b ;
} ;
Реализацию функций сами сделайте. Формулы все известны.
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
20.12.2015, 03:02
Как-то так...

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
#include <iostream>
#include <cmath>
 
class RightTriangle {
  public:
    RightTriangle(double cathetusA, double cathetusB) 
      : cathetusA(cathetusA), cathetusB(cathetusB) {}
  
    double getCathetusA() const {
      return cathetusA;
    }
    
    double getCathetusB() const {
      return cathetusB;
    }
    
    double getHypotenuse() const {
      return sqrt(pow(cathetusA, 2.0) + pow(cathetusB, 2.0));
    }
 
    double getArea() const {
      return (cathetusA * cathetusB) / 2.0;
    }
    
    friend std::ostream &operator<<(std::ostream &stream, 
      const RightTriangle &triangle) {
      return stream << "RightTriangle{" <<
        "cathetusA=" << triangle.getCathetusA() <<
        ",cathetusB=" << triangle.getCathetusB() <<
        "}";
    }
  private:
    double cathetusA;
    double cathetusB;
};
 
int main(int, char**) {
  RightTriangle a(2.0, 2.0);
  
  std::cout << a << std::endl;
  
  std::cout << a.getHypotenuse() << std::endl;
  std::cout << a.getArea() << std::endl;
  return 0;
}
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
20.12.2015, 03:13
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
52
53
54
55
56
57
//Title of this code
//g++  4.9.2
 
#include <iostream>
#include <cmath>
 
 
class RightTriangle
{
public:
    RightTriangle ( double a, double b) 
        : cathetus_a(a)
        , cathetus_b(b)
    {} ;
    double get_area () const 
    {
        return 0.5 * cathetus_a * cathetus_b ;
    } 
    double get_hypotenuse() const 
    {
        return sqrt(cathetus_a*cathetus_a+cathetus_b*cathetus_b) ;
    }
    bool is_areas_equal ( const RightTriangle & triangle ) const
    {
        return get_area() == triangle.get_area() ;
    }
private:
    double cathetus_a ;
    double cathetus_b ;
} ;
 
 
 
void right_triangle_info_output ( const RightTriangle & triangle )
{
    std::cout << "Triangle: \n\tArea = " << triangle.get_area() 
        << "\n\tHypotenuse = " << triangle.get_hypotenuse() << std::endl ;
}
 
 
 
#define TriangleAreasComparation(stream,t1,t2) \
(stream << "Areas comparison:\n\t" #t1 " and " #t2 << (t1.is_areas_equal(t2)?" - equal":" - not equal") << std::endl)
 
 
int main()
{
    RightTriangle t1(4, 5) ;
    RightTriangle t2(6, 4) ;
    RightTriangle t3(10, 2) ;
    right_triangle_info_output(t1) ;
    right_triangle_info_output(t2) ;
    right_triangle_info_output(t3) ;
    TriangleAreasComparation(std::cout,t1,t2) ;
    TriangleAreasComparation(std::cout,t2,t3) ;
    TriangleAreasComparation(std::cout,t1,t3) ;
}
http://rextester.com/VSIFCN52281
0
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25
20.12.2015, 03:15  [ТС]
lemegeton, извините но вышло немного что то не так. программа написана правильно но что то не так
вот текст вывода:
RightTriangle{cathetusA=2,cathetusB=2}
2.82843
2
{deleted}
 Комментарий модератора 
П.4.6. и П. 5.9. Правил!
0
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25
20.12.2015, 03:28  [ТС]
Croessmah, а почему в задаче сталые значения?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
20.12.2015, 03:59
Цитата Сообщение от Pop_Misha Посмотреть сообщение
извините но вышло немного что то не так. программа написана правильно но что то не так
вот текст вывода:
А что не так? Выведен треугольник, его гипотенуза и площадь.
0
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 25
21.12.2015, 21:34  [ТС]
Croessmah, извините а можете мне обьяснить что означают все команды что использованы в этой программе?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2015, 21:34
Помогаю со студенческими работами здесь

Класс прямоугольных треугольников
Помогите решить задачу Создайте класс прямоугольных треугольников, описав в нём все необходимые свойства, подобрав им понятные имена и...

Определить, сколько прямоугольных треугольников можно создать из заданного набора точек
Помогите решить задачу. Дано множество точек на плоскости. Определить, сколько прямоугольных треугольников можно создать из этого...

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

Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема:...

Выяснить, какие 4-х точек, заданых своими координатами, находятся на минимальном расстоянии друг от друга
Буду благодарен, если поможете решить вот эту задачку: Четыре точки заданы своими координатами X(x1,x2,x3), Y(y1,y2,y3), Z(z1,z2,z3),...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru