C/C++

Программирование C++, написание программ

Написать программу, которая подсчитывает площадь треугольника, заданного координатами вершин x1 y1 x2 y2 x3 y3
#include <iostream>
#include <cmath>
using namespace std;
double coord(const char* msg) {
cout << msg;
double value;
cin >> value;
return value;
}
struct Point {
double x;
double y;
double length(const Point& p)const {
return sqrt(pow(p.x - x, 2) + pow(p.y - y, 2));
}
};
bool exist(const Point& a, const Point& b, const Point& c) {
const auto ab = a.length(b);
const auto ac = a.length(c);
const auto bc = b.length(c);
auto sum = ab + ac + bc;
auto max = (ab > ac) ? (ab > bc) ? ab : bc : (ab > bc) ? ab : bc;
auto x = sum - max;
return x > max;
}
double area(const Point& a, const Point& b, const Point& c) {
const auto ab = a.length(b);
const auto ac = a.length(c);
const auto bc = b.length(c);
auto p = (ab + ac + bc) / 2.0;
return sqrt(p * (p - ab) * (p - ac) * (p - bc));
}
Point point(const char* name) {
Point p;
cout << name;
p.x = coord("x: ");
cout << name;
p.y = coord("y: ");
return p;
}
int main() {
auto a = point("A");
auto b = point("B");
auto c = point("C");
if (exist(a, b, c)) {
auto s = area(a, b, c);
cout.setf(ios::fixed);
cout.precision(3);
cout << "S: " << s << '\n';
} else {
puts("Triangle not exist!");
}
}
Д)
Диман )
52 135
Лучший ответ
Nazim Qaramamedli это типа "Назад, в будущее"
или
"Вспомнить всё"? )
#include "iostream"
#include "cmath"
int main(){
double x1,y1,x2,y2,x3,y3; std::cout<<"x1 y1 x2 y2 x3 y3: ";
std::cin>>x1>>y1>>x2>>y2>>x3>>y3;
std::cout<<std::abs((x2-x1)*(y3-y1)-(x3-x1)*(y2-y1))/2<<'\n';}
Сергей Дивин
Сергей Дивин
88 859
я в ауте
скоро будете просить написать код про a + b = ...