Допустим, что эти группы разделены пробелами.(а если нет, то просто замени второй аргумент в функции strtok с " " на "0")
#include <iostream>using std::cout;using std::cin;using std::endl;#include <cstring>using std::strtok;using std::strlen;int main(){ int counter = 0; char s[] = "00000 1111111 000 1111 111111 00000000 11111"; char *sPtr; cout << s << endl; sPtr = strtok(s, " "); while(sPtr != NULL) { if(strlen(sPtr) % 2 != 0 && *sPtr == '1') { counter += strlen(sPtr); } sPtr = strtok(NULL, " "); } cout << counter << endl; cin.get(); return 0;}
Допустим, что эти группы разделены пробелами.(а если нет, то просто замени второй аргумент в функции strtok с " " на "0")
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstring>
using std::strtok;
using std::strlen;
int main()
{
int counter = 0;
char s[] = "00000 1111111 000 1111 111111 00000000 11111";
char *sPtr;
cout << s << endl;
sPtr = strtok(s, " ");
while(sPtr != NULL)
{
if(strlen(sPtr) % 2 != 0 && *sPtr == '1')
{
counter += strlen(sPtr);
}
sPtr = strtok(NULL, " ");
}
cout << counter << endl;
cin.get();
return 0;
}