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,970 questions

51,912 answers

573 users

How to find the minimum product among all combinations of triplets in an array with C

1 Answer

0 votes
#include <stdio.h>
#include <limits.h>
#include <stdlib.h>
#include <math.h>

int compare(const void* a, const void* b) {
    return (*(int*)a - *(int*)b);
}

int getMinimumTripletProduct(int arr[], int size) {
    qsort(arr, size, sizeof(int), compare);

    if (size <= 2) {
        return INT_MAX;
    }

    return min(arr[size - 1] * arr[size - 2] * arr[0], arr[0] * arr[1] * arr[2]);
}

int main()
{
    int arr[] = {3, 5, 8, 17, 4, 9, 7, 39, 2};

    int size = sizeof(arr) / sizeof(arr[0]);

    int min = getMinimumTripletProduct(arr, size);

    if (min == INT_MAX) {
        puts("Vector has less than 3 elements");
    }
    else {
        printf("The minimum product = %d", min);
    }
}




/*
run:

The minimum product = 24

*/



 

 



answered Aug 19, 2022 by avibootz
...