w3resource

C++ Exercises: Check if an array of integers contains a 3 next to a 3 or a 5 next to a 5 or both

C++ Basic Algorithm: Exercise-108 with Solution

Write a C++ program to check if an array of integers contains a 3 next to a 3 or a 5 next to a 5 or both.

Sample Solution:

C++ Code :

#include <iostream>  // Including input-output stream header file

using namespace std;  // Using standard namespace

// Function definition that checks if there are adjacent elements of 3 or 5 in the array
static bool test(int nums[], int arr_length)
{
    for (int i = 0; i < arr_length - 1; i++)
    {
        if ((nums[i] == 3 && nums[i + 1] == 3) || (nums[i] == 5 && nums[i] == 5))
            return true;  // Returning true if adjacent elements are both 3 or both 5
    }
    return false;  // Returning false if no adjacent elements are both 3 or both 5
}

int main() 
{  
    int nums1[] = {5, 5, 5, 5, 5};  // Initializing array nums1 with all elements as 5
    int arr_length = sizeof(nums1) / sizeof(nums1[0]);  // Calculating length of array nums1

    // Calling test function with nums1 and displaying the result (true or false)
    cout << test(nums1, arr_length) << endl; 

    int nums2[] = {1, 2, 3, 4};  // Initializing array nums2 with no adjacent elements as 3 or 5
    arr_length = sizeof(nums2) / sizeof(nums2[0]);  // Calculating length of array nums2

    // Calling test function with nums2 and displaying the result (true or false)
    cout << test(nums2, arr_length) << endl;

    int nums3[] = {3, 3, 5, 5, 5, 5};  // Initializing array nums3 with adjacent elements as both 3 or both 5
    arr_length = sizeof(nums3) / sizeof(nums3[0]);  // Calculating length of array nums3

    // Calling test function with nums3 and displaying the result (true or false)
    cout << test(nums3, arr_length) << endl;

    int nums4[] = {1, 5, 5, 7, 8, 10};  // Initializing array nums4 with no adjacent elements as both 3 or both 5
    arr_length = sizeof(nums4) / sizeof(nums4[0]);  // Calculating length of array nums4

    // Calling test function with nums4 and displaying the result (true or false)
    cout << test(nums4, arr_length) << endl;

    return 0;  // Returning 0 to indicate successful completion of the program
}

Sample Output:

1
0
1
1

Visual Presentation:

C++ Basic Algorithm Exercises: Check if an array of integers contains a 3 next to a 3 or a 5 next to a 5 or both.

Flowchart:

Flowchart: Check if an array of integers contains a 3 next to a 3 or a 5 next to a 5 or both.

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to check if a given array of integers contains no 3 or a 5
Next: Write a C++ program to check a given array of integers and return true if the given array contains two 5's next to each other, or two 5 separated by one element.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.