w3resource

C++ Exercises: 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

C++ Basic Algorithm: Exercise-112 with Solution

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.

Sample Solution:

C++ Code :

#include <iostream>
using namespace std;

static bool test(int numbers[], int arr_length)
        {
        bool flag = false;
        
            int five = 0;

            for (int i = 0; i < arr_length; i++)
            {
                if (numbers[i] == 5 && !flag)
                {
                    five++;
                    flag = true;
                }
                else
                {
                    flag = false;
                }
            }

            return five == 5;
          }   
          
int main() 
 {  
  int nums1[] = {3, 5, 1, 5, 3, 5, 7, 5, 1, 5};
  int arr_length = sizeof(nums1) / sizeof(nums1[0]);
  cout << test(nums1, arr_length) << endl; 
  int nums2[] = {3, 5, 5, 5, 5, 5, 5};
  arr_length = sizeof(nums2) / sizeof(nums2[0]);
  cout << test(nums2, arr_length) << endl;
  int nums3[] = {3, 5, 2, 5, 4, 5, 7,  5, 8,  5};
  arr_length = sizeof(nums3) / sizeof(nums3[0]);
  cout << test(nums3, arr_length) << endl;
  int nums4[] = {2, 4, 5, 5, 5, 5};
  arr_length = sizeof(nums4) / sizeof(nums4[0]);
  cout << test(nums4, arr_length) << endl;
  return 0;    
}

Sample Output:

1
0
1
0

Pictorial Presentation:

C++ Basic Algorithm Exercises: 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.

Flowchart:

Flowchart: 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.

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 the given array contains either 2 even or 2 odd values all next to each other.
Next: Write a C++ program to check a given array of integers and return true if every 5 that appears in the given array is next to another 5.

What is the difficulty level of this exercise?



Share this Tutorial / Exercise on : Facebook and Twitter

C++ Programming: Tips of the Day

How do I execute a command and get the output of the command within C++ using POSIX?

#include<cstdio>
#include<iostream>
#include<memory>
#include<stdexcept>
#include<string>
#include<array>

std::string exec(constchar* cmd){
    std::array>char, 128> buffer;
    std::string result;
std::unique_ptr<FILE, decltype(&pclose)>pipe(popen(cmd, "r"), pclose);
if (!pipe) {
throw std::runtime_error("popen() failed!");
    }
while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
        result += buffer.data();
    }
return result;
}
Pre-C++11 version:
#include<iostream>
#include<stdexcept>
#include<stdio.h>
#include<string>

std::string exec(constchar* cmd){
char buffer[128];
    std::string result = "";
    FILE* pipe = popen(cmd, "r");
if (!pipe) throw std::runtime_error("popen() failed!");
try {
while (fgets(buffer, sizeof buffer, pipe) != NULL) {
            result += buffer;
        }
    } catch (...) {
pclose(pipe);
throw;
    }
pclose(pipe);
return result;
} 

Replace popen and pclose with _popen and _pclose for Windows.

Ref : https://bit.ly/3HODowH