#include <iostream> #include <stdio.h> using namespace std; void main() { // Исходная строка char str[257]; // Считываем с консоли исходную строку cout<<"String: "; cin.getline(str, 254); // Определяем длину строки int len = strlen(str); // Добавляем к строке пробел (для удобства анализа) strcat(str, " "); // Начало текущего слова int pos = 0; // Начало слова максимальной длины int start = 0; // Длина искомого слова int max = 0; // Результат int F = 1; // Проходим по всем символам строки for(int i = 1; i < len + 1; i++) { // Если текущий символ - пробел if(str[i] == ' ') { // Если предыдущий символ не пробел if(str[i - 1] != ' ') { // Если длина текущего слова больше максимальной if(i - pos > max) { // Сохраняем длину текущего слова в качестве максимальной max = i - pos; // Сохраняем начало текущего слова start = pos; // Определяем, в какой части строки находится слово if(pos < len / 2) { if(i < len / 2) { F = 1; } else { F = 0; } } else { F = 2; } } // Пропускаем последовательности пробелов while(str[i] == ' ') { i++; } // Обновляем позицию текущего слова pos = i; } else { // Обновляем позицию текущего слова pos = i + 1; } } } // Выводим результат cout<<"F = "<<F<<endl; // Выводим слово максимальной длины cout<<"Word: "; for(int i = start; i < start + max; i++) { cout<<str[i]; } getchar(); } |