輸入應該是n - 三角形的數量(1 < = n < = 20),然後n行每個三個雙打(對應於每個三角形的邊) 。輸出應該是具有最大三角形面積的「n」。如何在C++中給定三角形中找到最大面積
#include <iostream>
#include <math.h>
using namespace std;
const int MAX_SIZE = 20;
int main()
{
int n, s, p;
double max = 0;
cin >> n;
int x[MAX_SIZE];
for (int i = 0; i < n; i++)
{
double y[2];
for (int j = 0; j < 3; j++)
cin >> y[j];
p = (y[0] + y[1] + y[2])/2;
s = sqrt(p * (p - y[0]) * (p - y[1]) * (p - y[3]));
if (s >= max) max = s;
}
cout << max;
return 0;
}
這就是我迄今爲止所做的。順便說一句,「p」代表semiparameter。 - 我使用Heron的公式。我甚至都沒有把它的範圍設置爲「最大」,而是最大面積本身,但它不起作用,但卻給我一個巨大的錯誤。有任何想法嗎?
**第一次**編寫計算三角形面積的代碼,並編寫可在序列中查找最大值的代碼。 *當這兩部分工作完美時,*然後**將它們組合。 – Beta