Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

С++. Нужна помощь!! Напишите программу с функцией, аргументом которой передается символьный массив с текстом.

Анастасия'блин Дионова Ученик (136), закрыт 2 месяца назад
Напишите программу с функцией, аргументом которой передается символьный массив с текстом. Результатом функции возвращается длина самого длинного слова в тексте, содержащемся в массиве.
Лучший ответ
Рустам Абдрашитов Мудрец (10316) 2 месяца назад
На
 #include <iostream> 
#include <cstring>
#include <cctype>

int longestWordLength(const char* text) {
int maxLength = 0;
int currentLength = 0;

for (int i = 0; text[i] != '\0'; ++i) {
if (isalpha(text[i])) {
currentLength++;
} else {
if (currentLength > maxLength) {
maxLength = currentLength;
}
currentLength = 0;
}
}

if (currentLength > maxLength) {
maxLength = currentLength;
}

return maxLength;
}

int main() {
const int MAX_LENGTH = 1000;
char text[MAX_LENGTH];

std::cout << "Введите текст (максимум " << MAX_LENGTH - 1 << " символов): ";

if (!std::cin.getline(text, MAX_LENGTH)) {
std::cerr << "Ошибка ввода!" << std::endl;
return 1;
}

if (strlen(text) == 0) {
std::cerr << "Ошибка: введен пустой текст!" << std::endl;
return 1;
}

int length = longestWordLength(text);

std::cout << "Длина самого длинного слова: " << length << std::endl;

return 0;
}
Остальные ответы
Николай Веселуха Высший разум (370555) 2 месяца назад
 #include <iostream> 
#include <sstream>
#include <string>

using namespace std;

size_t max_length(const char* text) {
istringstream iss(text);
string word;
size_t length = 0;
while (iss >> word) {
if (length < word.length()) {
length = word.length();
}
}
return length;
}

int main() {
const char* text{ "Результатом функции возвращается длина самого длинного слова в тексте" };
const auto ml = max_length(text);
cout << "Max length: " << ml << '\n';
}
Похожие вопросы