How to count and print triplets from an array with sum equal to a given value in C

1 Answer

0 votes
#include <stdio.h>

int main() {
	int array[] = { 4, 5, 2, 8, 1, 3, 8, 7, 10 };
	int size = sizeof(array) / sizeof(array[0]);
	int sum = 11;
	int count = 0;

	for (int i = 0; i < size - 2; i++) {
		for (int j = i + 1; j < size - 1; j++) {
			for (int k = j + 1; k < size; k++) {
				if (array[i] + array[j] + array[k] == sum) {
					count++;
					printf("%d: %d,%d,%d\n", count, array[i], array[j], array[k]);

				}
			}
		}
	}
	printf("Number of Triplets = %d", count);

	return 0;
}




/*
run:
 
1: 4,5,2
2: 2,8,1
3: 2,1,8
4: 1,3,7
Number of Triplets = 4
 
*/

 



answered Dec 7, 2022 by avibootz
...