Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Legendhunter
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 1
1

Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона)

29.04.2013, 07:40. Просмотров 1101. Ответов 2
Метки нет (Все метки)

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

Нахождения площади треугольника по формуле Герона
Мой код: // нахождение S треугольника по формуле Герона # include...

Организовать класс квадратная матрица размерности 3 на 3, содержащий методы
Организовать класс квадратная матрица размерности 3 на 3, содержащий методы:...

Организовать класс квадратная матрица размерности 2 на 2, содержащий методы
1) Составить описание класса. 2) В классе предусмотреть не менее трех...

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

Организовать производный класс, содержащий метод нахождения векторного произведения
Возникли сложности при решении задачи. Буду признателен тем, кто поможет....

2
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
29.04.2013, 09:06 2
Лучший ответ Сообщение было отмечено как решение

Решение

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <cmath>
#include <iostream>
#include <iomanip>
 
class Point {
 public:
  Point() : x(0), y(0), z(0) {}
  Point(double x, double y, double z) : x(x), y(y), z(z) {}
  const double &getX() const { return x; }
  const double &getY() const { return y; }
  const double &getZ() const { return z; }
 private:
  double x, y, z;
};
 
std::ostream &operator<<(std::ostream &stream, const Point &p) {
  return stream << std::fixed << std::setprecision(2) <<
    "Point{x=" << p.getX() << ",y=" << p.getY() <<
    ",z=" << p.getZ() << "}";
}
 
double getDistance(const Point &a, const Point &b) {
  return sqrt(pow(a.getX() - b.getX(), 2.0) +
    pow(a.getY() - b.getY(), 2.0) +
    pow(a.getZ() - b.getZ(), 2.0));
}
 
class Triangle {
 public:
  Triangle() {}
  Triangle(const Point &a, const Point &b, const Point &c)
    : a(a), b(b), c(c) {
    initialize();
  }
  const Point &getA() const { return a; }
  const Point &getB() const { return b; }
  const Point &getC() const { return c; }
  const double &getSideA() const { return sideA; }
  const double &getSideB() const { return sideB; }
  const double &getSideC() const { return sideC; }
  const double &getPerimeter() const { return perimeter; }
  const double &getArea() const { return area; }
 private:
  void initialize() {
    sideA = getDistance(b, c);
    sideB = getDistance(a, c);
    sideC = getDistance(a, b);
    perimeter = getDistance(a, b) + getDistance(a, c) + getDistance(b, c);
    double p = perimeter / 2.0;
    area = sqrt(p * (p - sideA) * (p - sideB) * (p - sideC));
  }
  double sideA, sideB, sideC;
  Point a, b, c;
  double perimeter;
  double area;
};
 
std::ostream &operator<<(std::ostream &stream, const Triangle t) {
  return stream << std::fixed << std::setprecision(2) << "Triangle{" <<
    "a=" << t.getA() << ",b=" << t.getB() << ",c=" << t.getC() <<
    ",sideA=" << t.getSideA() << ",sideB=" << t.getSideB() <<
    ",sideC=" << t.getSideC() << ",perimeter=" << t.getPerimeter() <<
    ",area=" << t.getArea() << "}";
}
 
int main(int argc, char *argv[]) {
  std::cout << Triangle(Point(0, 0, 0), Point(1, 1, 1), Point(0, 1, 2)) <<
    std::endl;
  
  return 0;
}
0
programina
2050 / 605 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
29.04.2013, 09:40 3
C++
#include <math.h>
 
class CTri
{
public:
    float s12;
    float s23;
    float s31;
    float P;
 
    float GetP(float x1, float y1, float x2, float y2, float x3, float y3)
    {
        s12 = pow( ( (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) ), 0.5 );
        s23 = pow( ( (x2-x3)*(x2-x3)+(y2-y3)*(y2-y3) ), 0.5 );
        s31 = pow( ( (x3-x1)*(x3-x1)+(y3-y1)*(y3-y1) ), 0.5 );
        P = s12+s23+s31;
        return P;
    }
};
 
int main()
{
    CTri triangle;
   
    float P = triangle.GetP(0.0,0.0, 0.0,1.0, 1.0,1.0);
    // площадь сами считайте :-)
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2013, 09:40

Оформить процедуру для расчета периметра и площади треугольника по его сторонам
Оформить процедуру для расчета периметра и площади треугольника по его...

Функция для вычисления площади треугольника по формуле Герона
Два треугольника заданы своими сторонами а, b и с (т. е. заданы длины сторон а,...

Вычисление площади треугольника по формуле Герона (с использованием функции)
ВОТ ЗАДАНИЕ: Напишите функцию distance, что вычисляет расстояние между двумя...


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

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

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