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

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

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

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

Нахождения площади треугольника по формуле Герона
Мой код: // нахождение 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
2049 / 604 / 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, что вычисляет расстояние между двумя...

Реализовать функцию нахождения площади и периметра заданного прямоугольника
Написать программу с ф-цией,в которой для заданного прямоугольника посчитать и...

Класс: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра.
Создать абстрактный базовый класс Figure с виртуальными методами вычисления...


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

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

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