Consecutive difference of elements in an Array

Consecutive difference of elements in an Array

This post is written on the basic programming problem from the topic Array in C++, in which we have to find the consecutive difference of elements.

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 have come 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

Consecutive differenec.png

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.

    (Absolute convert the -ve computed value into +ve. Example. abs (-15) to (15)
    
  5. Now iterate from second last element till the last element, this is done to compute the difference of last with the first element of the array.

  6. 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.

  7. 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;
}

The above code has been run on the online compiler to provide the best result possible.

Sample Input

5 15
50 65 85 98 35

Sample Output

0 1 0 1 0

Hence with the required set of problem we come 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.

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 !!

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