Find all triplets with zero sum
Here given code implementation process.
// C Program
// Find all triplets with zero sum
#include <stdio.h>
//Function which is display array elements
void display(int arr[], int size)
{
for (int i = 0; i < size; ++i)
{
printf("%d ", arr[i]);
}
printf("\n");
}
//Find all triplets in zero sum of given array
void zero_sum_triplet(int arr[], int size)
{
if (size < 3)
{
return;
}
printf("Array : ");
//Display array elements
display(arr, size);
//This variable are using to check zero sum exists or not
int status = 0;
//Loop which is iterate the first element of result
for (int i = 0; i < size - 2; ++i)
{
//Loop which is iterate the second element of result
for (int j = i + 1; j < size - 1; ++j)
{
//Loop which is iterate the third element of result
for (int k = j + 1; k < size; ++k)
{
//Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
{
status = 1;
//Display three elements
printf("(%d,%d,%d) \n", arr[i], arr[j], arr[k]);
}
}
}
}
if (status == 0)
{
printf("None\n");
}
printf("\n");
}
int main()
{
//Define array elements
int arr1[] = {
8,
2,
0,
6,
-2,
6,
-1,
9,
4,
3
};
int size = sizeof(arr1) / sizeof(arr1[0]);
zero_sum_triplet(arr1, size);
//Define array elements
int arr2[] = {
9,
2,
-7,
4,
1,
3,
0,
7,
22,
8,
-4
};
size = sizeof(arr2) / sizeof(arr2[0]);
zero_sum_triplet(arr2, size);
return 0;
}
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
/*
Java Program
Find all triplets with zero sum
*/
class MyArray
{
//Function which is display array elements
public void display(int[] arr, int size)
{
for (int i = 0; i < size; ++i)
{
System.out.print(" " + arr[i] + " ");
}
System.out.print("\n");
}
//Find all triplets in zero sum of given array
public void zero_sum_triplet(int[] arr, int size)
{
if (size < 3)
{
return;
}
System.out.print("Array : ");
//Display array elements
display(arr, size);
//This variable are using to check zero sum exists or not
boolean status = false;
//Loop which is iterate the first element of result
for (int i = 0; i < size - 2; ++i)
{
//Loop which is iterate the second element of result
for (int j = i + 1; j < size - 1; ++j)
{
//Loop which is iterate the third element of result
for (int k = j + 1; k < size; ++k)
{
//Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
{
status = true;
//Display three elements
System.out.print("(" + arr[i] + "," + arr[j] + "," + arr[k] + ") \n");
}
}
}
}
if (status == false)
{
System.out.print("None\n");
}
System.out.print("\n");
}
public static void main(String[] args)
{
MyArray obj = new MyArray();
//Define array elements
int[] arr1 = {
8,
2,
0,
6,
-2,
6,
-1,
9,
4,
3
};
int size = arr1.length;
obj.zero_sum_triplet(arr1, size);
//Define array elements
int[] arr2 = {
9,
2,
-7,
4,
1,
3,
0,
7,
22,
8,
-4
};
size = arr2.length;
obj.zero_sum_triplet(arr2, size);
}
}
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
/*
C++ Program
Find all triplets with zero sum
*/
#include<iostream>
using namespace std;
class MyArray
{
public:
//Function which is display array elements
void display(int arr[], int size)
{
for (int i = 0; i < size; ++i)
{
cout << " " << arr[i] << " ";
}
cout << "\n";
}
//Find all triplets in zero sum of given array
void zero_sum_triplet(int arr[], int size)
{
if (size < 3)
{
return;
}
cout << "Array : ";
//Display array elements
this->display(arr, size);
//This variable are using to check zero sum exists or not
bool status = false;
//Loop which is iterate the first element of result
for (int i = 0; i < size - 2; ++i)
{
//Loop which is iterate the second element of result
for (int j = i + 1; j < size - 1; ++j)
{
//Loop which is iterate the third element of result
for (int k = j + 1; k < size; ++k)
{
//Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
{
status = true;
cout << "(" << arr[i] << "," << arr[j] << "," << arr[k] << ") \n";
}
}
}
}
if (status == false)
{
cout << "None\n";
}
cout << "\n";
}
};
int main()
{
MyArray obj;
int arr1[] = {
8,
2,
0,
6,
-2,
6,
-1,
9,
4,
3
};
int size = sizeof(arr1) / sizeof(arr1[0]);
obj.zero_sum_triplet(arr1, size);
int arr2[] = {
9,
2,
-7,
4,
1,
3,
0,
7,
22,
8,
-4
};
size = sizeof(arr2) / sizeof(arr2[0]);
obj.zero_sum_triplet(arr2, size);
return 0;
}
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
/*
C# Program
Find all triplets with zero sum
*/
using System;
class MyArray
{
//Function which is display array elements
public void display(int[] arr, int size)
{
for (int i = 0; i < size; i++)
{
Console.Write(" " + arr[i] + " ");
}
Console.Write("\n");
}
//Find all triplets in zero sum of given array
public void zero_sum_triplet(int[] arr, int size)
{
if (size < 3)
{
return;
}
Console.Write("Array : ");
//Display array elements
display(arr, size);
//This variable are using to check zero sum exists or not
Boolean status = false;
//Loop which is iterate the first element of result
for (int i = 0; i < size - 2; i++)
{
//Loop which is iterate the second element of result
for (int j = i + 1; j < size - 1; j++)
{
//Loop which is iterate the third element of result
for (int k = j + 1; k < size; k++)
{
//Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
{
status = true;
Console.Write("(" + arr[i] + "," + arr[j] + "," + arr[k] + ") \n");
}
}
}
}
if (status == false)
{
Console.Write("None\n");
}
Console.Write("\n");
}
public static void Main(String[] args)
{
MyArray obj = new MyArray();
int[] arr1 = {
8,
2,
0,
6,
-2,
6,
-1,
9,
4,
3
};
int size = arr1.Length;
obj.zero_sum_triplet(arr1, size);
int[] arr2 = {
9,
2,
-7,
4,
1,
3,
0,
7,
22,
8,
-4
};
size = arr2.Length;
obj.zero_sum_triplet(arr2, size);
}
}
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
<?php
/*
Php Program
Find all triplets with zero sum
*/
class MyArray
{
//Function which is display array elements
function display( $arr, $size)
{
for ($i = 0; $i < $size; ++$i)
{
echo " ". $arr[$i] ." ";
}
echo "\n";
}
//Find all triplets in zero sum of given array
function zero_sum_triplet( $arr, $size)
{
if ($size < 3)
{
return;
}
echo "Array : ";
//Display array elements
$this->display($arr, $size);
//This variable are using to check zero sum exists or not
$status = false;
//Loop which is iterate the first element of result
for ($i = 0; $i < $size - 2; ++$i)
{
//Loop which is iterate the second element of result
for ($j = $i + 1; $j < $size - 1; ++$j)
{
//Loop which is iterate the third element of result
for ($k = $j + 1; $k < $size; ++$k)
{
//Check if whether resultant sum is to zero or not
if ($arr[$i] + $arr[$j] + $arr[$k] == 0)
{
$status = true;
echo "(". $arr[$i] .",". $arr[$j] .",". $arr[$k] .") \n";
}
}
}
}
if ($status == false)
{
echo "None\n";
}
echo "\n";
}
}
function main()
{
$obj = new MyArray();
//Define array elements
$arr1 = array(8, 2, 0, 6, -2, 6, -1, 9, 4, 3);
$size = count($arr1);
$obj->zero_sum_triplet($arr1, $size);
//Define array elements
$arr2 = array(9, 2, -7, 4, 1, 3, 0, 7, 22, 8, -4);
$size = count($arr2);
$obj->zero_sum_triplet($arr2, $size);
}
main();
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
# Python 3 Program
# Find all triplets with zero sum
class MyArray :
# Function which is display array elements
def display(self, arr, size) :
i = 0
while (i < size) :
print(" ", arr[i] ," ", end = "")
i += 1
print("\n", end = "")
# Find all triplets in zero sum of given array
def zero_sum_triplet(self, arr, size) :
if (size < 3) :
return
print("Array : ", end = "")
# Display array elements
self.display(arr, size)
# This variable are using to check zero sum exists or not
status = False
# Loop which is iterate the first element of result
i = 0
j = 0
k = 0
while (i < size - 2) :
# Loop which is iterate the second element of result
j = i + 1
while (j < size - 1) :
# Loop which is iterate the third element of result
k = j + 1
while (k < size) :
# Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0) :
status = True
print("(", arr[i] ,",", arr[j] ,",", arr[k] ,") \n", end = "")
k += 1
j += 1
i += 1
if (status == False) :
print("None\n", end = "")
print("\n", end = "")
def main() :
obj = MyArray()
# Define array elements
arr1 = [8, 2, 0, 6, -2, 6, -1, 9, 4, 3]
size = len(arr1)
obj.zero_sum_triplet(arr1, size)
# Define array elements
arr2 = [9, 2, -7, 4, 1, 3, 0, 7, 22, 8, -4]
size = len(arr2)
obj.zero_sum_triplet(arr2, size)
if __name__ == "__main__": main()
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
( 2 , 0 , -2 )
( -2 , -1 , 3 )
Array : 9 2 -7 4 1 3 0 7 22 8 -4
( -7 , 4 , 3 )
( -7 , 0 , 7 )
( 4 , 0 , -4 )
( 1 , 3 , -4 )
# Ruby Program
# Find all triplets with zero sum
class MyArray
# Function which is display array elements
def display(arr, size)
i = 0
while (i < size)
print(" ", arr[i] ," ")
i += 1
end
print("\n")
end
# Find all triplets in zero sum of given array
def zero_sum_triplet(arr, size)
if (size < 3)
return
end
print("Array : ")
# Display array elements
self.display(arr, size)
# This variable are using to check zero sum exists or not
status = false
# Loop which is iterate the first element of result
i = 0
j = 0
k = 0
while (i < size - 2)
# Loop which is iterate the second element of result
j = i + 1
while (j < size - 1)
# Loop which is iterate the third element of result
k = j + 1
while (k < size)
# Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
status = true
# Display three elements
print("(", arr[i] ,",", arr[j] ,",", arr[k] ,") \n")
end
k += 1
end
j += 1
end
i += 1
end
if (status == false)
print("None\n")
end
print("\n")
end
end
def main()
obj = MyArray.new()
# Define array elements
arr1 = [8, 2, 0, 6, -2, 6, -1, 9, 4, 3]
size = arr1.length
obj.zero_sum_triplet(arr1, size)
# Define array elements
arr2 = [9, 2, -7, 4, 1, 3, 0, 7, 22, 8, -4]
size = arr2.length
obj.zero_sum_triplet(arr2, size)
end
main()
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
/*
Scala Program
Find all triplets with zero sum
*/
class MyArray
{
//Function which is display array elements
def display(arr: Array[Int], size: Int): Unit = {
var i: Int = 0;
while (i < size)
{
print(" " + arr(i) + " ");
i += 1;
}
print("\n");
}
//Find all triplets in zero sum of given array
def zero_sum_triplet(arr: Array[Int], size: Int): Unit = {
if (size < 3)
{
return;
}
print("Array : ");
//Display array elements
display(arr, size);
//This variable are using to check zero sum exists or not
var status: Boolean = false;
//Loop which is iterate the first element of result
var i: Int = 0;
var j: Int = 0;
var k: Int = 0;
while (i < size - 2)
{
//Loop which is iterate the second element of result
j = i + 1;
while (j < size - 1)
{
//Loop which is iterate the third element of result
k = j + 1;
while (k < size)
{
//Check if whether resultant sum is to zero or not
if (arr(i) + arr(j) + arr(k) == 0)
{
status = true;
//Display three elements
print("(" + arr(i) + "," + arr(j) + "," + arr(k) + ") \n");
}
k += 1;
}
j += 1;
}
i += 1;
}
if (status == false)
{
print("None\n");
}
print("\n");
}
}
object Main
{
def main(args: Array[String]): Unit = {
var obj: MyArray = new MyArray();
//Define array elements
var arr1: Array[Int] = Array(8, 2, 0, 6, -2, 6, -1, 9, 4, 3);
var size: Int = arr1.length;
obj.zero_sum_triplet(arr1, size);
//Define array elements
var arr2: Array[Int] = Array(9, 2, -7, 4, 1, 3, 0, 7, 22, 8, -4);
size = arr2.length;
obj.zero_sum_triplet(arr2, size);
}
}
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
/*
Swift Program
Find all triplets with zero sum
*/
class MyArray
{
//Function which is display array elements
func display(_ arr: [Int], _ size: Int)
{
var i: Int = 0;
while (i < size)
{
print(" ", arr[i] ," ", terminator: "");
i += 1;
}
print("\n", terminator: "");
}
//Find all triplets in zero sum of given array
func zero_sum_triplet(_ arr: [Int], _ size: Int)
{
if (size < 3)
{
return;
}
print("Array : ", terminator: "");
//Display array elements
self.display(arr, size);
//This variable are using to check zero sum exists or not
var status: Bool = false;
//Loop which is iterate the first element of result
var i: Int = 0;
var j: Int = 0;
var k: Int = 0;
while (i < size - 2)
{
//Loop which is iterate the second element of result
j = i + 1;
while (j < size - 1)
{
//Loop which is iterate the third element of result
k = j + 1;
while (k < size)
{
//Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
{
status = true;
print("(", arr[i] ,",", arr[j] ,",", arr[k] ,") \n", terminator: "");
}
k += 1;
}
j += 1;
}
i += 1;
}
if (status == false)
{
print("None\n", terminator: "");
}
print("\n", terminator: "");
}
}
func main()
{
let obj: MyArray = MyArray();
//Define array elements
let arr1: [Int] = [8, 2, 0, 6, -2, 6, -1, 9, 4, 3];
var size: Int = arr1.count;
obj.zero_sum_triplet(arr1, size);
//Define array elements
let arr2: [Int] = [9, 2, -7, 4, 1, 3, 0, 7, 22, 8, -4];
size = arr2.count;
obj.zero_sum_triplet(arr2, size);
}
main();
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
( 2 , 0 , -2 )
( -2 , -1 , 3 )
Array : 9 2 -7 4 1 3 0 7 22 8 -4
( -7 , 4 , 3 )
( -7 , 0 , 7 )
( 4 , 0 , -4 )
( 1 , 3 , -4 )
/*
Node Js Program
Find all triplets with zero sum
*/
class MyArray
{
//Function which is display array elements
display(arr, size)
{
var i = 0;
while (i < size)
{
process.stdout.write(" " + arr[i] + " ");
++i;
}
process.stdout.write("\n");
}
//Find all triplets in zero sum of given array
zero_sum_triplet(arr, size)
{
if (size < 3)
{
return;
}
process.stdout.write("Array : ");
//Display array elements
this.display(arr, size);
//This variable are using to check zero sum exists or not
var status = false;
//Loop which is iterate the first element of result
var i = 0;
var j = 0;
var k = 0;
while (i < size - 2)
{
//Loop which is iterate the second element of result
j = i + 1;
while (j < size - 1)
{
//Loop which is iterate the third element of result
k = j + 1;
while (k < size)
{
//Check if whether resultant sum is to zero or not
if (arr[i] + arr[j] + arr[k] == 0)
{
status = true;
process.stdout.write("(" + arr[i] + "," + arr[j] + "," + arr[k] + ") \n");
}
++k;
}
++j;
}
++i;
}
if (status == false)
{
process.stdout.write("None\n");
}
process.stdout.write("\n");
}
}
function main()
{
var obj = new MyArray();
//Define array elements
var arr1 = [8, 2, 0, 6, -2, 6, -1, 9, 4, 3];
var size = arr1.length;
obj.zero_sum_triplet(arr1, size);
//Define array elements
var arr2 = [9, 2, -7, 4, 1, 3, 0, 7, 22, 8, -4];
size = arr2.length;
obj.zero_sum_triplet(arr2, size);
}
main();
Output
Array : 8 2 0 6 -2 6 -1 9 4 3
(2,0,-2)
(-2,-1,3)
Array : 9 2 -7 4 1 3 0 7 22 8 -4
(-7,4,3)
(-7,0,7)
(4,0,-4)
(1,3,-4)
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.
New Comment