C Program to find all pairs on integer array whose sum is equal to given number
All pairs whose sum is equal to given number in C
Here, in this page we will discuss the program to find all pairs whose sum is equal to given number in C . We are given with an array and a value sum and we need to return the count of all the pairs whose sum is equal to given value of the sum.
Algorithm:
A simple solution is to traverse each element and check if there’s another number in the array which can be added to it to give sum.
- Declare a variable say count = 0, that will count the required pairs.
- Now, run a lop from i=0 to i=n-1, and check inside that loop whether there is a number which add up with the i-th number to give the value sum, if it is so then increment the value of count by 1.
- After the complete of iteration print the value of the count.
Time and Space Complexities :
- Time complexity : O(n^2)
- Space Complexity : O(1)
Code in C
Run
#include<stdio.h> int getPairsCount(int arr[], int n, int sum) { int count = 0; // Consider all possible pairs and check their sums for (int i = 0; i < n; i++){ for (int j = i + 1; j < n; j++){ if (arr[i] + arr[j] == sum) count++; } } return count; } // Driver function to test the above function int main() { int arr[] ={10, 12, 10, 15, -1, 7, 6, 5, 4, 2, 1, 1, 1}; int n = sizeof(arr)/sizeof(arr[0]); int sum=11; printf("Count of pairs is %d",getPairsCount(arr, n, sum)); return 0; }
Output :
Count of pairs is 9
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
Login/Signup to comment