背景:參考兩個物聯網PLC得值,兩個PLC再一分鐘內持續並達到一個目標得時候值加1,參考這篇文章:https://blog.csdn.net/shine_journey/article/details/55254947ios
#include<iostream> #include<string> using namespace std; int main() { std::string str = "987600000000000000000789111111111111111666666666666"; int num = 1; char word; int len = str.length()-1; for(int i=0; i<len; i++) { if (str[i] == str[i+1]) { word = str[i]; ++num; } else { num = 1; } if(num >= 11) // 這裏11表示,相同值的個數至少是11個 { ++i; while (i < len) { if (str[i] == str[i+1]) { ++i; ++num; } else { break; } } //這裏的輸出是:從0開始計數,連續值起始位置 cout << "start point is :" << i-num+1 << endl; // num 表示連續相同值有多少個 cout << "count is : " << num << endl; num = 1; } } return 0; }
代碼存放在 github ,git
地址:github
https://github.com/Long-Yucheng/BaseCode/blob/master/Algorithm/find same data in array.cpp