w3resource

C++ Exercises: Check if a triple is presents in an array of integers or not

C++ Basic Algorithm: Exercise-36 with Solution

Write a C++ program to check if a triple is presents in an array of integers or not. If a value appears three times in a row in an array it is called a triple.

Sample Solution:

C++ Code :

#include <iostream>
 
using namespace std;

bool test(int nums[], int arr_length)
        {
            int arra_len = arr_length - 1;
			int n = 0;
			for (int i = 0; i < arra_len; i++)
            {
                 n = nums[i];
				if (n == nums[i + 1] && n == nums[i + 2]) return true;
            }
            return false;
        }
        
int main() 
 {
  int arr_length;	
  int nums1[] = {1, 1, 2, 2, 1};	
  arr_length = sizeof(nums1) / sizeof(nums1[0]);
  cout << test(nums1, arr_length) << endl; 
  int nums2[] = {1, 1, 2, 1, 2, 3};	
  arr_length = sizeof(nums2) / sizeof(nums2[0]);
  cout << test(nums2, arr_length) << endl;
  int nums3[] = {1, 1, 1, 2, 2, 2, 1};	
  arr_length = sizeof(nums3) / sizeof(nums3[0]);
  cout << test(nums3, arr_length) << endl;
  return 0;   
}

Sample Output:

0
0
1

Pictorial Presentation:

C++ Basic Algorithm Exercises: Check if a triple is presents in an array of integers or not.

Flowchart:

Flowchart: Check if a triple is presents in an array of integers or not.

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a C++ program to count the number of two 5's are next to each other in an array of integers. Also count the situation where the second 5 is actually a 6.
Next: Write a C++ program to compute the sum of the two given integers. If the sum is in the range 10..20 inclusive return 30.

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