C/C++

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

C++ напишите функцию 2 треугольника похожи или нет
#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 << "\n B: " << b << "\n C: " << c << "\n\n";
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");
}
ГН
Габитов Наиль
79 029
Лучший ответ
Юрий Демченко Это сравнение трех треугольников на равенство. Как я подозреваю, в вопросе имеется в виду сравнение на подобие двух треугольников...
В геометрии нет термина "похожи" :( Формулируй задачу в математических терминах. Подозреваю, что имеется в виду не "похожи", а "подобны". Тогда

#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[i]/b[i]/p-1)>eps)d=false;
cout<<boolalpha<< d<< endl;}
Что значит похожи треугольники или нет? Я посмотрю на 2 треугольника и скажу - похожи. А вы посмотрите - и скажете нет. Кто прав?
Artashes Khachatryan код, заданный сторонами треугольника, напишите функцию, которая будет определять, похожи ли 2 треугольника или нет
А как заданы треугольники? Координатами на плоскости или в трёхмерном пространстве? Своими тремя сторонами, двумя сторонами и углом между ними или же стороной и прилегающим к ней углам? Да, и какая всё таки мера похожести ?
Игорь Николаев
Игорь Николаев
28 648
"Подобны",наверное. Думаю, неудачный перевод. Например, если перевести дословно с армянского, будет звучать именно так.
Если с английского - то совсем не так ))