# Print all distinct pairs with given difference in array

Here given code implementation process.

``````//C Program
//Print all distinct pairs with given difference in array
#include <stdio.h>
#include <stdlib.h>

void difference(int arr[],int size,int k)
{

if(size<=0)
{
return;
}

//For check duplicates nodes
int auxiliary[size];

//Find Duplicates
for (int i = 0; i < size; ++i)
{
for (int j = i+1; j < size; ++j)
{
if(arr[i]==arr[j])
{
//When get repeated element
auxiliary[j]=1;
}
}
}
printf("\nPairs of difference %d\n",k);
for (int i = 0; i < size; ++i)
{
if(auxiliary[i]==1)
{
continue;

}

for (int j = i+1; j < size; ++j)
{
if(auxiliary[j]==1)
{
continue;
}

if(arr[i]-arr[j] == k)
{
printf("{ %d ,%d } ",arr[i],arr[j]);
}
else if(arr[j]-arr[i] == k)
{

printf("{ %d ,%d } ",arr[j],arr[i]);
}
}
}

}
//print array elements
void print_array(int arr[],int size)
{

for(int i=0; i < size; i++)
{
printf(" %d ",arr[i] );
}
}
int main()
{
//Define collection of array elements
int arr[] = { 1, 4, 5, 2, 2, 2, 5, 5,4, 2 ,8, 4};

//Get the size of array
int size=(sizeof(arr)/sizeof(arr[0]));

print_array(arr,size);

difference(arr,size,3);
return 0;
}```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````#include<iostream>

using namespace std;

/*
C++ Program
Print all distinct pairs with given difference in array
*/
class MyArray {
public:
void difference(int arr[], int size, int k) {
if (size <= 0) {
return;
}
int auxiliary[size];
//Find Duplicates

for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
if (arr[i] == arr[j]) {
//When get repeated element
auxiliary[j] = 1;
}
}
}
cout << "\nPairs of difference " << k << "\n";
for (int i = 0; i < size; ++i) {
if (auxiliary[i] == 1) {
continue;
}
for (int j = i + 1; j < size; ++j) {
if (auxiliary[j] == 1) {
continue;
}
if (arr[i] - arr[j] == k) {
cout << "{ " << arr[i] << " ," << arr[j] << " } ";
} else
if (arr[j] - arr[i] == k) {
cout << "{ " << arr[j] << " ," << arr[i] << " } ";
}
}
}
}
//print array elements
void print_array(int arr[], int size) {
for (int i = 0; i < size; i++) {
cout << " " << arr[i] << " ";
}
}
};
int main() {
MyArray obj = MyArray();
int arr[] = {
1,
4,
5,
2,
2,
2,
5,
5,
4,
2,
8,
4
};
//Get the size of array
int size = sizeof(arr) / sizeof(arr[0]);
obj.print_array(arr, size);
obj.difference(arr, size, 3);
return 0;
}```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````/*
Java Program
Print all distinct pairs with given difference in array
*/

public class MyArray {

public void difference(int []arr,int size,int k)
{

if(size<=0)
{
return;
}

//For check duplicates nodes
int []auxiliary= new int[size];

//Find Duplicates
for (int i = 0; i < size; ++i)
{
for (int j = i+1; j < size; ++j)
{
if(arr[i]==arr[j])
{
//When get repeated element
auxiliary[j]=1;
}
}
}
System.out.print("\nPairs of difference "+k+"\n");
for (int i = 0; i < size; ++i)
{
if(auxiliary[i]==1)
{
continue;

}

for (int j = i+1; j < size; ++j)
{
if(auxiliary[j]==1)
{
continue;
}

if(arr[i]-arr[j] == k)
{
System.out.print("{ "+arr[i]+" ,"+arr[j]+" } ");
}
else if(arr[j]-arr[i] == k)
{

System.out.print("{ "+arr[j]+" ,"+arr[i]+" } ");
}
}
}

}
//print array elements
void print_array(int []arr,int size)
{

for(int i=0; i < size; i++)
{
System.out.print(" "+arr[i]+" " );
}
}
public static void main(String[] args) {

MyArray obj = new MyArray();

//Define collection of array elements
int []arr = { 1, 4, 5, 2, 2, 2, 5, 5,4, 2 ,8, 4};

//Get the size of array
int size = arr.length;

obj.print_array(arr,size);

obj.difference(arr,size,3);

}
}
```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````/*
C# Program
Print all distinct pairs with given difference in array
*/

using System;

public class MyArray {
public void difference(int[] arr, int size, int k) {
if (size <= 0) {
return;
}
//For check duplicates nodes
int[] auxiliary = new int[size];
//Find Duplicates
for (int i = 0; i < size; ++i) {
for (int j = i + 1; j < size; ++j) {
if (arr[i] == arr[j]) {
//When get repeated element
auxiliary[j] = 1;
}
}
}
Console.Write("\nPairs of difference " + k + "\n");
for (int i = 0; i < size; ++i) {
if (auxiliary[i] == 1) {
continue;;
}
for (int j = i + 1; j < size; ++j) {
if (auxiliary[j] == 1) {
continue;;
}
if (arr[i] - arr[j] == k) {
Console.Write("{ " + arr[i] + " ," + arr[j] + " } ");
} else
if (arr[j] - arr[i] == k) {
Console.Write("{ " + arr[j] + " ," + arr[i] + " } ");
}
}
}
}
//print array elements
void print_array(int[] arr, int size) {
for (int i = 0; i < size; i++) {
Console.Write(" " + arr[i] + " ");
}
}
public static void Main(String[] args) {
MyArray obj = new MyArray();
//Define collection of array elements
int[] arr = {
1,
4,
5,
2,
2,
2,
5,
5,
4,
2,
8,
4
};
//Get the size of array
int size = arr.Length;
obj.print_array(arr, size);
obj.difference(arr, size, 3);
}
}```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````<?php
/*
Php Program
Print all distinct pairs with given difference in array
*/
class MyArray {
public 	function difference(\$arr, \$size, \$k) {
if (\$size <= 0) {
return;
}
//For check duplicates nodes
\$auxiliary = array_fill(0, \$size, 0);
//Find Duplicates

for (\$i = 0; \$i < \$size; ++\$i) {
for (\$j = \$i + 1; \$j < \$size; ++\$j) {
if (\$arr[\$i] == \$arr[\$j]) {
//When get repeated element
\$auxiliary[\$j] = 1;
}
}
}
echo("\nPairs of difference ". \$k ."\n");
for (\$i = 0; \$i < \$size; ++\$i) {
if (\$auxiliary[\$i] == 1) {
continue;
}
for (\$j = \$i + 1; \$j < \$size; ++\$j) {
if (\$auxiliary[\$j] == 1) {
continue;
}
if (\$arr[\$i] - \$arr[\$j] == \$k) {
echo("{ ". \$arr[\$i] ." ,". \$arr[\$j] ." } ");
} else
if (\$arr[\$j] - \$arr[\$i] == \$k) {
echo("{ ". \$arr[\$j] ." ,". \$arr[\$i] ." } ");
}
}
}
}
//print array elements
function print_array(\$arr, \$size) {
for (\$i = 0; \$i < \$size; \$i++) {
echo(" ". \$arr[\$i] ." ");
}
}
}

function main() {
\$obj = new MyArray();
//Define collection of array elements
\$arr = array(1, 4, 5, 2, 2, 2, 5, 5, 4, 2, 8, 4);
//Get the size of array
\$size = count(\$arr);
\$obj->print_array(\$arr, \$size);
\$obj->difference(\$arr, \$size, 3);

}
main();```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````/*
Node Js Program
Print all distinct pairs with given difference in array
*/
class MyArray {
difference(arr, size, k) {
if (size <= 0) {
return;
}

//For check duplicates nodes
var auxiliary = Array(size).fill(0);
//Find Duplicates

for (var i = 0; i < size; ++i) {
for (var j = i + 1; j < size; ++j) {
if (arr[i] == arr[j]) {
//When get repeated element
auxiliary[j] = 1;
}
}
}

process.stdout.write("\nPairs of difference " + k + "\n");
for (var i = 0; i < size; ++i) {
if (auxiliary[i] == 1) {
continue;
}

for (var j = i + 1; j < size; ++j) {
if (auxiliary[j] == 1) {
continue;
}

if (arr[i] - arr[j] == k) {
process.stdout.write("{ " + arr[i] + " ," + arr[j] + " } ");
} else
if (arr[j] - arr[i] == k) {
process.stdout.write("{ " + arr[j] + " ," + arr[i] + " } ");
}
}
}
}

//print array elements
print_array(arr, size) {
for (var i = 0; i < size; i++) {
process.stdout.write(" " + arr[i] + " ");
}
}
}

function main(args) {
var obj = new MyArray();
//Define collection of array elements
var arr = [1, 4, 5, 2, 2, 2, 5, 5, 4, 2, 8, 4];
//Get the size of array
var size = arr.length;
obj.print_array(arr, size);
obj.difference(arr, size, 3);
}

main();```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````# Python 3 Program
# Print all distinct pairs with given difference in array
class MyArray :
def difference(self, arr, size, k) :
if (size <= 0) :
return

# For check duplicates nodes
auxiliary = [0] * size
# Find Duplicates
i = 0
while (i < size) :
j = i + 1
while (j < size) :
if (arr[i] == arr[j]) :
# When get repeated element
auxiliary[j] = 1

j += 1

i += 1

print("\nPairs of difference ", k ,"\n", end = "")
i = 0
while (i < size) :
if (auxiliary[i] == 1) :
i += 1
continue

j = i + 1
while (j < size) :
if (auxiliary[j] == 1) :
j += 1
continue

if (arr[i] - arr[j] == k) :
print("{ ", arr[i] ," ,", arr[j] ,"}", end = "")
elif (arr[j] - arr[i] == k) :
print("{ ", arr[j] ," ,", arr[i] ,"}", end = "")

j += 1

i += 1

# print array elements
def print_array(self, arr, size) :
i = 0
while (i < size) :
print(" ", arr[i] ," ", end = "")
i += 1

def main() :
obj = MyArray()
# Define collection of array elements
arr = [1, 4, 5, 2, 2, 2, 5, 5, 4, 2, 8, 4]
# Get the size of array
size = len(arr)
obj.print_array(arr, size)
obj.difference(arr, size, 3)

if __name__ == "__main__":
main()```
```

#### Output

``````  1    4    5    2    2    2    5    5    4    2    8    4
Pairs of difference  3
{  4  , 1 }{  5  , 2 }{  8  , 5 }``````
``````#   Ruby Program
#   Print all distinct pairs with given difference in array
class MyArray
def difference(arr, size, k)
if (size <= 0)
return
end
# For check duplicates nodes
auxiliary = Array.new(size, 0)
# Find Duplicates
i = 0
while (i < size)
j = i + 1
while (j < size)
if (arr[i] == arr[j])
# When get repeated element
auxiliary[j] = 1
end
j += 1
end
i += 1
end
print("\nPairs of difference ", k ,"\n")
i = 0
while (i < size)
if (auxiliary[i] == 1)
i += 1
next
end
j = i + 1
while (j < size)
if (auxiliary[j] == 1)
j += 1
next
end
if (arr[i] - arr[j] == k)
print(" { ", arr[i] ," ,", arr[j] ," } ")
elsif (arr[j] - arr[i] == k)
print(" { ", arr[j] ," ,", arr[i] ," } ")
end
j += 1
end
i += 1
end
end
# print array elements
def print_array(arr, size)
i = 0
while (i < size)
print(" ", arr[i] ," ")
i += 1
end
end
end
def main()
obj = MyArray.new()
# Define collection of array elements
arr = [1, 4, 5, 2, 2, 2, 5, 5, 4, 2, 8, 4]
# Get the size of array
size = arr.length
obj.print_array(arr, size)
obj.difference(arr, size, 3)
end
main()```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 }  { 5 ,2 }  { 8 ,5 } ``````
``````/*
Scala Program
Print all distinct pairs with given difference in array
*/
class MyArray {
def difference(arr: Array[Int], size: Int, k: Int): Unit = {
if (size <= 0) {
return;
}
//For check duplicates nodes
var auxiliary: Array[Int] = Array.fill[Int](size)(0);

//Find Duplicates
var i: Int = 0;
var j: Int = 0;
while (i < size) {
j = i + 1;
while (j < size) {
if (arr(i) == arr(j)) {
//When get repeated element
auxiliary(j) = 1;
}
j += 1;
}
i += 1;
}
print("\nPairs of difference " + k + "\n");
i = 0;
while (i < size) {
if (auxiliary(i) != 1) {

j = i + 1;
while (j < size) {
if (auxiliary(j) != 1) {
if (arr(i) - arr(j) == k) {
print("{ " + arr(i) + " ," + arr(j) + " } ");
} else
if (arr(j) - arr(i) == k) {
print("{ " + arr(j) + " ," + arr(i) + " } ");
}
}
j += 1;
}
}
i += 1;
}
}
//print array elements
def print_array(arr: Array[Int], size: Int): Unit = {
var i: Int = 0;
while (i < size) {
print(" " + arr(i) + " ");
i += 1;
}
}
}
object Main {
def main(args: Array[String]): Unit = {
val obj: MyArray = new MyArray();

//Define collection of array elements
val arr: Array[Int] = Array(1, 4, 5, 2, 2, 2, 5, 5, 4, 2, 8, 4);

//Get the size of array
val size: Int = arr.length;
obj.print_array(arr, size);
obj.difference(arr, size, 3);
}
}```
```

#### Output

`````` 1  4  5  2  2  2  5  5  4  2  8  4
Pairs of difference 3
{ 4 ,1 } { 5 ,2 } { 8 ,5 }``````
``````/*
Swift Program
Print all distinct pairs with given difference in array
*/
class MyArray {
func difference(_ arr: [Int], _ size: Int, _ k: Int) {
if (size <= 0) {
return;
}
//For check duplicates nodes
var auxiliary: [Int] = Array(repeating: 0, count: size);
//Find Duplicates
var i: Int = 0;
var j: Int = 0;
while (i < size) {
j = i + 1;
while (j < size) {
if (arr[i] == arr[j]) {
//When get repeated element
auxiliary[j] = 1;
}
j += 1;
}
i += 1;
}
print("\nPairs of difference ", k ,"\n", terminator: "");
i = 0;
while (i < size) {
if (auxiliary[i] == 1) {
i += 1;
continue;
}
j = i + 1;
while (j < size) {
if (auxiliary[j] == 1) {
j += 1;
continue;
}
if (arr[i] - arr[j] == k) {
print("{ ", arr[i] ," ,", arr[j] ," } ", terminator: "");
} else
if (arr[j] - arr[i] == k) {
print("{ ", arr[j] ," ,", arr[i] ," } ", terminator: "");
}
j += 1;
}
i += 1;
}
}
//print array elements
func print_array(_ arr: [Int], _ size: Int) {
var i: Int = 0;
while (i < size) {
print(" ", arr[i] ," ", terminator: "");
i += 1;
}
}
}
func main() {
let obj: MyArray = MyArray();
//Define collection of array elements
let arr: [Int] = [1, 4, 5, 2, 2, 2, 5, 5, 4, 2, 8, 4];
//Get the size of array
let size: Int = arr.count;
obj.print_array(arr, size);
obj.difference(arr, size, 3);
}
main();```
```

#### Output

``````  1    4    5    2    2    2    5    5    4    2    8    4
Pairs of difference  3
{  4  , 1  } {  5  , 2  } {  8  , 5  }``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.