axyd icon

LongestSequenceOfConsecutiveZeroes

axyd | PRO | 05/28/20 10:05:11 PM UTC | 0 ⭐ | 1472 👁️ | Never ⏰ | []
C++ |

800 B

|

None

|

0 👍

/

0 👎

#include <iostream>
#include <string>
using namespace std;
 
string longestZero(string);
 
int main(){
    string sequence;
 
    do{
        cout<< "Enter binary sequence (q/Q to quit)";
        getline(cin,sequence);
 
        if(sequence == "q" || sequence == "Q") break;   //user wants to quit
 
        cout<< "\tLongest sequence: "<< longestZero(sequence)<< endl;
 
    } while (sequence != "q" && sequence != "Q");
 
    return 0;
}
 
string longestZero(string seq){
    string longest= "";
    int rep= 0, i= 0, highest;
 
    while(i<seq.size()){
        if(seq.at(i) == '0'){   //count zeros
            if(++rep>highest) highest= rep;
        }
 
        if(seq.at(i) == '1') rep= 0;    //reset counter
 
        ++i;
    }
    longest.insert(0, highest, '0');
    return longest;
}

Comments