Вопрос C++ напишите функцию 2 треугольника похожи или нет

Регистрация
24 Май 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
C++ напишите функцию 2 треугольника похожи или нет
 
В геометрии нет термина "похожи" :( Формулируй задачу в математических терминах. Подозреваю, что имеется в виду не "похожи", а "подобны". Тогда #include "iostream" #include "cmath" #include "algorithm" using namespace std; int main(){ double a[3],b[3],p,eps=1e-4; bool d=true; cout<<"Vertices of triangle A: "; for(double &i:a)cin>> i; cout<<"Vertices of triangle B: "; for(double &i:b)cin>> i; sort(a,a+3); sort(b,b+3); p=a[0]/b[0]; for(int i=0;i<3;i++)if(abs(a/b/p-1)>eps)d=false; cout<<boolalpha<< d<< endl;}
 
А как заданы треугольники? Координатами на плоскости или в трёхмерном пространстве? Своими тремя сторонами, двумя сторонами и углом между ними или же стороной и прилегающим к ней углам? Да, и какая всё таки мера похожести ?
 
#include <algorithm> #include <iostream> #include <vector> using namespace std; struct Triangle { double a, b, c; Triangle() : a(0), b(0), c(0) {} Triangle(double a, double b, double c) : a(a), b(b), c(c) {} bool same(const Triangle& t)const { vector<double> xa{ a, b, c }; vector<double> xb{ t.a, t.b, t.c }; sort(xa.begin(), xa.end()); sort(xb.begin(), xb.end()); return xa == xb; } friend ostream& operator<<(ostream& out, const Triangle& t) { return out << "{ " << t.a << "; " << t.b << "; " << t.c << " }"; } }; int main() { Triangle a{ 2.5, 3.7, 2.9 }; Triangle b{ 3.7, 2.9, 2.5 }; Triangle c{ 2.9, 2.5, 3.6 }; cout << " A: " << a << "
B: " << b << "
C: " << c << "

"; puts(a.same(b) ? " A == B" : " A != B"); puts(a.same(c) ? " A == C" : " A != C"); puts(b.same(c) ? " B == C" : " B != C"); system("pause > nul"); }
 
"Подобны",наверное. Думаю, неудачный перевод. Например, если перевести дословно с армянского, будет звучать именно так. Если с английского - то совсем не так ))
 
Что значит похожи треугольники или нет? Я посмотрю на 2 треугольника и скажу - похожи. А вы посмотрите - и скажете нет. Кто прав?
 
Назад
Сверху