Program to check if a body is in equilibrium or not
Last Updated :
27 Apr, 2021
Given a 2D array a[][] where each row consists of N vector coordinates of the form (xi, yi, zi) of an applied body. If the body is in equilibrium, print “YES“. Otherwise, print “NO“.
Examples:
Input: a[][] = {{4, 1, 7}, {-2, 4, -1}, {1, -5, -3}}
Output: NO
Input: a[][] = {{3, -1, 7}, {-5, 2, -4}, {2, -1, -3}}
Output: YES
Approach: Follow the steps below to solve the problem:
- Apply vector addition on all the vector coordinates.
- If the result of the vector addition is (0, 0, 0), the body is in equilibrium. Therefore, print “YES“.
- Otherwise, print “NO“.
Below is the implementation of the above approach:
C++
#include <iostream>
using namespace std;
void vectorAddition( int a[][3], int N)
{
int sum1 = 0, sum2 = 0, sum3 = 0;
for ( int i = 0; i < N; i++) {
sum1 += a[i][0];
sum2 += a[i][1];
sum3 += a[i][2];
}
if (sum1 == 0 && sum2 == 0
&& sum3 == 0) {
cout << "YES" ;
}
else {
cout << "NO" ;
}
}
int main()
{
int N = 3;
int a[N][3]
= { { 3, -1, 7 },
{ -5, 2, -4 },
{ 2, -1, -3 } };
vectorAddition(a, N);
return 0;
}
|
Java
import java.util.*;
class GFG{
static void vectorAddition( int a[][],
int N)
{
int sum1 = 0 , sum2 = 0 , sum3 = 0 ;
for ( int i = 0 ; i < N; i++)
{
sum1 += a[i][ 0 ];
sum2 += a[i][ 1 ];
sum3 += a[i][ 2 ];
}
if (sum1 == 0 && sum2 == 0 &&
sum3 == 0 )
{
System.out.print( "YES" );
}
else
{
System.out.print( "NO" );
}
}
public static void main(String[] args)
{
int N = 3 ;
int a[][] = {{ 3 , - 1 , 7 },
{- 5 , 2 , - 4 },
{ 2 , - 1 , - 3 }};
vectorAddition(a, N);
}
}
|
Python3
def vectorAddition(a, N):
sum1 = 0
sum2 = 0
sum3 = 0
for i in range (N):
sum1 + = a[i][ 0 ]
sum2 + = a[i][ 1 ]
sum3 + = a[i][ 2 ]
if (sum1 = = 0 and sum2 = = 0 and
sum3 = = 0 ):
print ( "YES" )
else :
print ( "NO" )
if __name__ = = '__main__' :
N = 3
a = [ [ 3 , - 1 , 7 ],
[ - 5 , 2 , - 4 ],
[ 2 , - 1 , - 3 ] ]
vectorAddition(a, N)
|
C#
using System;
class GFG{
static void vectorAddition( int [,]a,
int N)
{
int sum1 = 0, sum2 = 0, sum3 = 0;
for ( int i = 0; i < N; i++)
{
sum1 += a[i, 0];
sum2 += a[i, 1];
sum3 += a[i, 2];
}
if (sum1 == 0 && sum2 == 0 &&
sum3 == 0)
{
Console.Write( "YES" );
}
else
{
Console.Write( "NO" );
}
}
public static void Main(String[] args)
{
int N = 3;
int [,]a = {{3, -1, 7},
{-5, 2, -4},
{2, -1, -3}};
vectorAddition(a, N);
}
}
|
Javascript
<script>
function vectorAddition(a, N)
{
let sum1 = 0, sum2 = 0, sum3 = 0;
for (let i = 0; i < N; i++)
{
sum1 += a[i][0];
sum2 += a[i][1];
sum3 += a[i][2];
}
if (sum1 == 0 && sum2 == 0 &&
sum3 == 0)
{
document.write( "YES" );
}
else
{
document.write( "NO" );
}
}
let N = 3;
let a = [[3, -1, 7],
[-5, 2, -4],
[2, -1, -3]];
vectorAddition(a, N);
</script>
</script>
|
Time Complexity: O(N)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...