तत्वों के सेट के साथ दिया गया सरणी और कार्य ठीक तीन तत्वों के साथ सेट का पता लगाना है, जिसका योग k से कम या उसके बराबर है।
इनपुट - गिरफ्तारी [] ={1,2,3,8,5,4}
>आउटपुट - सेट → {1, 2, 3} {1, 2, 5} {1, 2, 4} {1, 3, 5} {1, 3, 4} {1, 5, 4} {2, 3, 5} {2, 3, 4}
इसमें, पहला कार्य सरणी के आकार की गणना करना है जिसके आधार पर i के लूप के लिए आकार -2 तक और j के लूप के लिए आकार -1 तक और k के लूप के लिए आकार तक पुनरावृत्त किया जाता है
एल्गोरिथ
START Step 1 -> declare int variable sum to k (e.g. 10), i, j, k Step 2 -> declare and initialise size with array size using sizeof(arr)/sizeof(arr[0]) Step 3 -> Loop For i to 0 and i<size-2 and i++ Loop For j to i+1 and j<size-1 and j++ Loop For k to j+1 and k<size and k++ IF arr[i]+ arr[j] + arr[k] <= sum Print arr[i] and arr[j] and arr[k] End IF End Loop for End Loop For Step 4 -> End Loop For STOP
उदाहरण
#include <stdio.h> int main(int argc, char const *argv[]) { int arr[] = {1, 2, 3, 8, 5, 4}; int sum = 10; int i, j, k; int size = sizeof(arr)/sizeof(arr[0]); for (i = 0; i < size-2; i++) { for (j = i+1; j < size-1; j++) { for (k = j+1; k < size; k++) { if( arr[i]+ arr[j] + arr[k] <= sum ) printf( "{%d, %d, %d}\n",arr[i], arr[j], arr[k] ); } } } return 0; }
आउटपुट
यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा।
{1, 2, 3} {1, 2, 5} {1, 2, 4} {1, 3, 5} {1, 3, 4} {1, 5, 4} {2, 3, 5} {2, 3, 4}