допустим, что эти группы разделены пробелами.(а если нет, то просто замени второй аргумент в функции 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; }