#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <utility>
#include <algorithm>
using namespace std;
/*
TODO:
Терминология:
В условиях задач используется следующая терминология:
Текст – произвольная последовательность символов.
Разделитель – символ пробела.
Слово – последовательность символов, не содержащая разделителей.
Серия – последовательность, состоящая из совпадающих элементов.
Предложение – последовательность слов, разделенных одним разделителем.
Подстрока – часть строки, обладающая указанными свойствами.
Вхождение (символа или подстроки) – наличие символа или подстроки в строке.
При решении задачи следует:
1) обеспечить ввод с клавиатуры исходного текста, строки или последовательности
символов, которые должны присваиваться в качестве значения символьного массива;
2) исключить использование встроенных подпрограмм, предназначенные для работы со
строками, за исключением подпрограммы strlen, которая определяет текущую длину строки;
3) для проверки работоспособности программы необходимо разработать и выполнить
соответствующие тесты, которые предъявляются при сдаче задания;
4) при оформлении текста программы обязательно использование отступов.
Характеристикой слова назовем длину содержащейся в нем максимальной серии.
Упорядочить слова заданного предложения в соответствии с ростом их характеристик.
*/
vector <string> split(string defaultString) //функция для разделения строки на массивы, которая принимает одно значение и возвращает два
{
string word = "";
int numChar = 0;
vector <string> wordsVector;
while (defaultString[numChar] != '\0') {
word = word + defaultString[numChar];
numChar++;
if (defaultString[numChar] == ' ' && defaultString[numChar + 1] == '\0'){
numChar++;
wordsVector.push_back(word);
word = "";
}
}
return wordsVector;
}
int character(string word) {
int i = 0;
int n = 1;
int max = 0;
string tx = word; //слово
char simbolsuka = tx[0];
int length = tx.length(); //Длина слова
for (i = 1; i <= length; i++)
if (tx[i] == simbolsuka) {
n++;
}
else {
if (n > max) {
max = n;
}
n = 1;
simbolsuka = tx[i];
}
return max;
}
int main() //Основная функция
{
string stroka;
getline(cin, stroka);
vector <string> words;
cout << stroka << endl;
words = split(stroka);
int max = 0;
for (int i = 0; i < words.size(); i++) {
cout << words[i] << endl;
cout << character(words[i]) << endl;
}
// system("pause");
return 0;
}
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.