C Exercises: Count all distinct pairs for a specific difference
C Array: Exercise-80 with Solution
Write a program in C to count all distinct pairs for a specific difference.
Sample Solution:
C Code:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX 1000000
// Comparison function for qsort
int cmpfunc(const void * arr1, const void * b) {
return (*(int*)arr1 - *(int*)b);
}
int main() {
int n, k; // Variables to hold array size and difference value
int ctr = 0; // Counter for distinct pairs
int i;
int arr1[] = {5, 2, 3, 7, 6, 4, 9, 8}; // Given array
n = sizeof(arr1) / sizeof(arr1[0]); // Calculate array size
k = 5; // Given difference value
// Print original array
printf("The given array is: \n");
for (i = 0; i < n; i++) {
printf("%d ", arr1[i]);
}
printf("\n");
// Sort the array using qsort function
qsort(arr1, n, sizeof(int), cmpfunc);
int l = 0; // Left pointer for the pair
int r = 0; // Right pointer for the pair
// Find distinct pairs with difference equal to 'k'
printf("The distinct pairs for difference %d are: ", k);
while (r < n) {
if (arr1[r] - arr1[l] == k) {
printf("[%d, %d] ", arr1[r], arr1[l]); // Print the pair
ctr++; // Increment counter for distinct pairs
l++;
r++;
} else if (arr1[r] - arr1[l] > k) {
l++; // Increment left pointer
} else {
r++; // Increment right pointer
}
}
printf("\nNumber of distinct pairs for difference %d are: %d", k, ctr); // Print total distinct pairs
return 0;
}
Sample Output:
The given array is: 5 2 3 7 6 4 9 8 The distinct pairs for difference 5 are: [7, 2] [8, 3] [9, 4] Number of distinct pairs for difference 5 are: 3
Pictorial Presentation:
Flowchart:

C Programming Code Editor:
Previous: Write a program in C to sort n numbers in range from 0 to n^2.
Next: The array range is [0..n-1] and the elements are in the range [0..k-1] and k<=n.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends
- Python Interview Questions and Answers: Comprehensive Guide
- Scala Exercises, Practice, Solution
- Kotlin Exercises practice with solution
- MongoDB Exercises, Practice, Solution
- SQL Exercises, Practice, Solution - JOINS
- Java Basic Programming Exercises
- SQL Subqueries
- Adventureworks Database Exercises
- C# Sharp Basic Exercises
- SQL COUNT() with distinct
- JavaScript String Exercises
- JavaScript HTML Form Validation
- Java Collection Exercises
- SQL COUNT() function
- SQL Inner Join