w3resource

C++ Exercises: Check a given array of integers and return true if the given array contains either 2 even or 2 odd values all next to each other

C++ Basic Algorithm: Exercise-111 with Solution

Write a C++ program to check a given array of integers and return true if the given array contains either 2 even or 2 odd values all next to each other.

Sample Solution:

C++ Code :

#include <iostream>
using namespace std;

static bool test(int numbers[], int arr_length)
        {
         int tot_odd = 0, tot_even = 0;

            for (int i = 0; i < arr_length; i++)
            {
                if (tot_odd < 2 && tot_even < 2)
                {
                    if (numbers[i] % 2 == 0)
                    {
                        tot_even++;
                        tot_odd = 0;
                    }
                    else
                    {
                        tot_odd++;
                        tot_even = 0;
                    }
                }
            }
            return tot_odd == 2 || tot_even == 2;
          }   
          
int main() 
 {  
  int nums1[] = {3, 5, 1, 3, 7};
  int arr_length = sizeof(nums1) / sizeof(nums1[0]);
  cout << test(nums1, arr_length) << endl; 
  int nums2[] = {1, 2, 3, 4};
  arr_length = sizeof(nums2) / sizeof(nums2[0]);
  cout << test(nums2, arr_length) << endl;
  int nums3[] = {3, 3, 5, 5, 5, 5};
  arr_length = sizeof(nums3) / sizeof(nums3[0]);
  cout << test(nums3, arr_length) << endl;
  int nums4[] = {2, 4, 5, 6};
  arr_length = sizeof(nums4) / sizeof(nums4[0]);
  cout << test(nums4, arr_length) << endl;
  return 0;    
}

Sample Output:

1
0
1
1

Pictorial Presentation:

C++ Basic Algorithm Exercises: Check a given array of integers and return true if the given array contains either 2 even or 2 odd values all next to each other.

Flowchart:

Flowchart: Check a given array of integers and return true if the given array contains either 2 even or 2 odd values all next to each other.

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to check a given array of integers and return true if there is a 3 with a 5 somewhere later in the given array.
Next: Write a C++ program to check a given array of integers and return true if the value 5 appears 5 times and there are no 5 next to each other.

What is the difficulty level of this exercise?