Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- void writeTask()
- {
- cout << "Данная программа находит количетсво групп 5 по цифр в строке, состоящей из нулей и единиц.\n";
- }
- string inputString()
- {
- bool isNotCorrect;
- string str;
- do
- {
- isNotCorrect = false;
- //ввод строки
- cout << "Введите исследуемую строку: ";
- getline(cin, str);
- //длина строки
- int length = str.length();
- //проверка строки на корректный ввод
- int i = 0;
- while ((!isNotCorrect) && (i < length))
- {
- isNotCorrect = !((str[i] == ' ') || (str[i] == '0') || (str[i] == '1'));
- i++;
- }
- } while (isNotCorrect); //повторяем ввод, пока не будет корректной строки
- return str;
- }
- int countOfGroup(string str)
- {
- int count = 0;
- int temp = 0;
- str.append(" "); //добавляем в конец строки пробел для алгоритма ниже
- int length = str.length();
- for (int i = 0; i < length; i++) //бегаем по строке в поисках нужных групп
- {
- if (str[i] != ' ')
- temp++; // если это цифра, то прибавляем к текущему количеству цифр в группе
- else
- {
- if (temp == 5) {
- count++;// если эта группа ровно из 5 цифр
- }
- temp = 0;// в любом случае обнуляем количество цифр в текущей группе, т.к. дошли до пробела => группа закончилась
- }
- }
- return count;
- }
- void outputAnswer(int count)
- {
- if (count == 0)
- cout << "В данной строке не найдено подходящих групп из 5 цифр!\n";
- else
- cout << "В данной строке было найдено " << count << " подходящих групп из 5 цифр!\n";
- }
- void main()
- {
- setlocale(LC_ALL, "Rus");
- writeTask();
- string str = inputString();
- int count = countOfGroup(str);
- outputAnswer(count);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement