C/C++

Массив C++, как решить?

Среди N треугольников с заданными сторонами подсчитать количество прямоугольных, среди которых определить треугольник с наибольшей площадью.
#include <iostream>
#include <cmath>
using namespace std;
bool possible(double a, double b, double c)
{
return (a > 0 && b > 0 && c > 0 && a + c > b
&& a + b > c && b + c > a) ? true : false;
}
bool right(double a, double b, double c)
{
double aa = a * a, bb = b * b, cc = c*c;
return (aa == bb + cc || bb == aa + cc ||
cc == aa + bb) ? true : false;
}
int main()
{
int i, j, k = 0, maxi, N;
double p, s, max = 0;
cout << "N » ";
cin >> N;
double t[N][3];
for (i = 0; i < N; i++)
{
for (j = 0; j < 3; j++)
cin >> t[i][j];
if (possible(t[i][0], t[i][1], t[i][2]))
if (right(t[i][0], t[i][1], t[i][2]))
{
++k;
p = (t[i][0] + t[i][1] + t[i][2]) / 2;
s = p * (p - t[i][0]) * (p - t[i][1]) * (p - t[i][2]);
if (s > max)
{
max = s;
maxi = i;
}
}
}
if (k) cout << k << " right triangle(s)\n" << "triangle "
<< maxi + 1<< '(' << t[maxi][0] << ',' << t[maxi][1] << ','
<< t[maxi][2] << ") has area " << sqrt(max) << endl;
else cout << "no right triangles" << endl;
system("pause > nul");
return 0;
}
НЭ
Нодир Эргашев
29 440
Лучший ответ
начни с главного... создай массив этих треугольников...
Игорь Вишня
Игорь Вишня
58 960
Как хочешь
ДЛ
Дмитрий Лен
27 683
Да, массив, затем в цикле выполнять одну и ту же операцию и сравнивать, синус - косинус, наверное. Если ноль и 1, перемножать катеты и сравнивать с ранее найденным значением.