DEV Community

Cover image for Consecutive difference of elements in an Array
Mayank Pathak
Mayank Pathak

Posted on • Originally published at thecodingbro.xyz

Consecutive difference of elements in an Array

Hi👋 guys, In this post we gonna check a most basic but most important programming problem in which we have to find the consecutive difference of elements in a given Array. This problem I came across when I was giving a coding👨‍💻 test🧪 during my placement 👨‍✈️ season.

Problem description

You are given with a circular array. Your task is calculate the difference between two consecutive number. And if difference is greater than ‘k’, print 1 else print 0

Input Description: You are given two numbers ‘n’, ’m’. Next line contains n space separated integers.

Output Description: Print 1 if the difference is greater than ‘m’.

Sample Input :
5 15
50 65 85 98 35

Sample Output :
0 1 0 1 0
Alt Text

Logic to follow to come-up with the solution :

  1. Declare the required sets of variables to use in the code.
  2. Input the user input size of the array and its elements.
  3. Now iterate from initialization as 0 till the second last element.
  4. And inside it finds the absolute difference of two consecutive numbers, also if the difference is greater than the inputted value then prints 1 or in other case print 0.
  5. (Absolute convert the -ve computed value into +ve. Ex. abs (-15) to (15)
  6. Now iterate from second last element till the last element, this is done to compute the difference of last and first element of the array.
  7. Similarly, inside it find the absolute difference of two consecutive numbers, also if the difference is greater than the inputted value then prints 1 or in other case print 0.
  8. At last we get the required set of the 1’s and 0’s by computing the absolute difference.

Now let's come to the coding part of the problem👨‍💻

Code ✍

#include <iostream>
using namespace std;
int main() {
    int n,k;
    cin>>n>>k;
    int a[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<n-1;i++)
    {
        if(abs(a[i]-a[i+1])>k)
        {
            cout<<"1 ";
        }
        if(abs(a[i]-a[i+1])<=k)
        {
            cout<<"0 ";
        }
    }
      for(int i=n-1;i<n;i++)
    {
        if(abs(a[n-1]-a[0])>k)
        {
            cout<<"1";
        }
        if(abs(a[n-1]-a[0])<=k)
        {
            cout<<"0";
        }
    }
    return 0;
}
Enter fullscreen mode Exit fullscreen mode

Sample Input

5 15
50 65 85 98 35
Enter fullscreen mode Exit fullscreen mode

Sample Output

0 1 0 1 0
Enter fullscreen mode Exit fullscreen mode

Hence with the required set of problem we came across to know one of the important problem in Array and we can make the concept array strong with practicing such kinds of problem as much as we can.

Hope with this you learned and acquired some basic knowledge on C++ Programming.

Drop a Love❤ if you liked👍 this post, then share 🤝this with your friends and if anything is confusing or incorrect then let me know in the comment section.

Thanks from my side, this is Mayank, keep learning and exploring !!

Support Me to write great articles by Clicking👇
Buy Me A Coffee

Meet you in the next article......till than see ya🤚

Top comments (0)