Дан текст, который пользователь должен ввести в программу, найти наибольшее количество идущих подряд букв. Реализовать следующие возможности в программе:
- меню пользователя, состоящее как минимум из 4-х пунктов:
ввод данных (текст вводится пользователем );
обработка данных (поиск наибольшего количества, подряд идущих, букв);
вывод результата на стандартное устройство вывода (экран);
выход из программы. - организовать промежуточное хранение результата, это относится к пункту меню — вывод результата;
- разбить программу на функции.
Смотрим пример работы программы:
CppStudio.com
Menu: 1-To enter the string 2-To process the data 3-To see result 0-Exit 1 Enter the string: Think different. Please, enter your choice: 2 Processing the data.. Please, enter your choice: 3 Your result: 2 Please, enter your choice: 0
Исходный код предоставила Наталья Гришина, поблагодарим её. Код программы немного подправил, подключил недостающие библиотеки,
#include <cstdlib> #include <iostream> using namespace std; char str[80]; int choice, res; int max_count(char str[80]); int main() { cout << "Menu:\n1-To enter the string\n2-To process the data\n3-To see result\n0-Exit\n"; cin >> choice; while (choice) { switch(choice) { case 1: cout << "Enter the string:\n"; cin.get (); cin.getline (str, 80); break; case 2: cout << "Processing the data..\n"; res = max_count (str); break; case 3: cout << "\nYour result: " << res << "\n"; break; case 0: exit(1); break; default: cout << "\nPlease, enter 0, 1 or 2\n"; break; } cout << "\nPlease, enter your choice: "; cin >> choice; } return 0; } int max_count(char str[80]) { char *p = str; int n; int maxi = 0; while (*p != 0) { n = 1; while (*p == *(p+1)) { n++; p++; } if (maxi < n) { maxi = n; } p++; } return maxi; }
Результат работы программы смотрим ниже. Для примера, использовал слоган компании Apple — Think different.
CppStudio.com
Menu: 1-To enter the string 2-To process the data 3-To see result 0-Exit 1 Enter the string: Think different. Please, enter your choice: 2 Processing the data.. Please, enter your choice: 3 Your result: 2 Please, enter your choice: 0
Итак, на выходе мы получили число 2 — это наибольшее количество идущих подряд одинаковых букв.
Комментарии
Anufree
Arthur