// Triangle = the sum of any two values (sides) > than the third value (third side)
/*
A + B > C
B + C > A
C + A > B
*/
#include <stdio.h>
int CountTriangles(int arr[], int size) {
int count = 0;
for (int i = 0; i < size; i++) {
for (int j = i + 1; j < size; j++) {
for (int k = j + 1; k < size; k++) {
if (arr[i] + arr[j] > arr[k]
&& arr[i] + arr[k] > arr[j]
&& arr[k] + arr[j] > arr[i]) {
count++;
printf("%d + %d > %d | ", arr[i], arr[j], arr[k]);
printf("%d + %d > %d | ", arr[i], arr[k], arr[j]);
printf("%d + %d > %d\n", arr[k], arr[j], arr[i]);
}
}
}
}
return count;
}
int main()
{
int arr[] = { 120, 80, 13, 16, 9, 14, 19 };
int size = sizeof(arr) / sizeof(arr[0]);
int total_triangles = CountTriangles(arr, size);
printf("Total triangles : %d", total_triangles);
return 0;
}
/*
run:
13 + 16 > 9 | 13 + 9 > 16 | 9 + 16 > 13
13 + 16 > 14 | 13 + 14 > 16 | 14 + 16 > 13
13 + 16 > 19 | 13 + 19 > 16 | 19 + 16 > 13
13 + 9 > 14 | 13 + 14 > 9 | 14 + 9 > 13
13 + 9 > 19 | 13 + 19 > 9 | 19 + 9 > 13
13 + 14 > 19 | 13 + 19 > 14 | 19 + 14 > 13
16 + 9 > 14 | 16 + 14 > 9 | 14 + 9 > 16
16 + 9 > 19 | 16 + 19 > 9 | 19 + 9 > 16
16 + 14 > 19 | 16 + 19 > 14 | 19 + 14 > 16
9 + 14 > 19 | 9 + 19 > 14 | 19 + 14 > 9
Total triangles : 10
*/