Подсчитайте количество единиц в группах с четным количество символов - C (СИ)
Формулировка задачи:
Добрый вечер господа и дамы.
Помогите пожалуйста с задачей
Дана строка, состоящая из групп нулей и единиц. Подсчитайте количество единиц в группах с четным количество символов.
Заранее спасибо.
Решение задачи: «Подсчитайте количество единиц в группах с четным количество символов»
textual
Листинг программы
#include<iostream>
using namespace std;
int main() {
char string[100];
int counter = 0;
cout << "enter string: ";
cin >> string;
char *ptr;
ptr = strtok(string, "0");
while(ptr != NULL) {
if(strlen(ptr) % 2 == 0)
counter += strlen(ptr);
ptr = strtok(NULL, "0");
}
cout << "Chislo edenic v chetnih gruppah: " << counter << endl;
system("pause");
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
stringтипаcharразмером 100 символов иcounterтипаintи инициализирован нулем. - Пользователю предлагается ввести строку.
- Введенная строка сохраняется в массиве
string. - Указатель
ptrинициализируется значениемstring. - С помощью функции
strtokв цикле разделяют строку на подстроки по символу '0' и проверяют длину каждой подстроки на четность. - Если длина подстроки четная, то к переменной
counterприбавляется единица. - После окончания цикла выводится сообщение с количеством единиц в группах с четным количеством символов.
- Программа ожидает нажатия клавиши для продолжения работы.
- Программа завершается без ошибок.