Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Legendhunter
Сообщений: n/a
#1

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

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

Помогите написать прогу
Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2013, 07:40     Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона)
Посмотрите здесь:
C++ Нахождения площади треугольника по формуле Герона
Организовать класс квадратная матрица размерности 2 на 2, содержащий методы C++
Организовать класс квадратная матрица размерности 3 на 3, содержащий методы C++
Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов C++
C++ Организовать производный класс, содержащий метод нахождения векторного произведения
Оформить процедуру для расчета периметра и площади треугольника по его сторонам C++
Реализовать функцию нахождения площади и периметра заданного прямоугольника C++
Реализовать функцию нахождения площади треугольника по трём известным сторонам C++
Определить площади двух треугольников, заданных длинами сторон (через клавиатуру), по формуле Герона. Полупериметр вычислять с помощью функции C++
Создать производные классы: Rectangle (прямоугольник), Circle (круг), Triangle (треугольник) со своими методами вычисления площади и периметра C++
C++ 1) Создать абстрактный класс Figure с методами вычисления площади и периметра, а также методом, выводящим информацию о фигуре на экран
Класс треугольник: сортировка по площади C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
29.04.2013, 09:06     Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона) #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;
}
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
29.04.2013, 09:40     Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона) #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);
    // площадь сами считайте :-)
}
Ответ Создать тему
Опции темы

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