Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,907 questions

51,839 answers

573 users

How to count the number of possible triangles from a given array in C

1 Answer

0 votes
// 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

*/

 



answered Apr 14, 2023 by avibootz
...