Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/37: Рейтинг темы: голосов - 37, средняя оценка - 4.70
0 / 0 / 1
Регистрация: 22.02.2012
Сообщений: 36

Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.

02.03.2012, 15:33. Показов 6985. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: В заданном тексте найти самое длинное слово и самое длинное предложение. Помогите решить На СИ++ в Visual Studio.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2012, 15:33
Ответы с готовыми решениями:

Найти в тексте самое длинное слово и самое длинное предложение
вписать текст с клавиатуры и найти в этом тексте самое длинное слово и самое длинное предложение.Предложения должны быть разделены точкой.

Найти самое длинное слово в заданном тексте
Помогите пожалуйста!!! задан текст, найти самое длинное слово.

В заданном тексте найти самое длинное слово и самую длинную фразу
У заданном тексте найти самое длинное слово и самую длинную фразу

5
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
03.03.2012, 07:05
Пример простенький .
Заносим текст в массив.
Делаем копию массива .Разбиваем текст на слова и определяем
самое длинное слово .
Далее разбиваем копию текста
на предложения ,определяем самое длинное .предложение

Из недостатков:
1)Длинных слов(предложений ) может быть несколько , выводится то
которое ближе к началу текста.
2)В самом длинном предложении в конце не выводится знак пунктуации .


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
 
int main()
{  
                char text[256];     
        char copytext[256];   
        char *token;
 
        string words[100];      
        string substrings[100]; 
  
                int i = 0;
                int maxsize = 0;
                int num = 0;
 
        cout << "Enter your text:\n";
                cin.getline(text,256);          // ввод текста 
        strcpy(copytext,text);          // создаем копию текста 
                
        //  РАЗБИВАЕМ ТЕКСТ НА СЛОВА   И ОПРЕДЕЛЯЕМ 
  //          САМОЕ ДЛИННОЕ  СЛОВО 
 
        token = strtok(text,"\t ,.!?\n");
 while(token)
       { 
           words[i] = token;
 
           if(maxsize < words[i].size())
           {
           maxsize = words[i].size();
 
           num = i;}
 
                    token = strtok(NULL,"\t ,.!?\n");
 
        i++;
        }
 
 cout << " \nThe longest word :\n\n" << words[num];
 
 //////////////////////////////////////////////
        i = 0;
 
        maxsize = 0;
 
  //  РАЗБИВАЕМ КОПИЮ ТЕКСТА НА ПРЕДЛОЖЕНИЯ   
    //  И ОПРЕДЕЛЯЕМ    САМОЕ ДЛИННОЕ  
 
         token = strtok(copytext,".!?\n");
 
 while(token)
       { 
           substrings[i] = token;
 
            if(maxsize < substrings[i].size())
            { 
                maxsize = substrings[i].size();  //  
 
                num = i;
            }
           token = strtok(NULL,".!?\n");
 
            i++;
       }
       cout << " \n\nThe longest sentence : \n\n" << substrings[num];
 
       cout << endl << endl;
 
        system("pause");
 
        return 0;
}
1
0 / 0 / 1
Регистрация: 22.02.2012
Сообщений: 36
21.03.2012, 16:23  [ТС]
MrCold, Прога не работает! Нужно написать прогу с использованием файла......плиз.......
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
21.03.2012, 20:57
В первом файле находим сам. большое слово и предложение
и записываем в другой файл .
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <iostream>
#include <fstream>
using namespace std;
 
int main()
{
        size_t pos_s = 0;
        size_t pos_w = 0;
        size_t n = 0;
        size_t k = 0;
        size_t j = 0;
        size_t counter_s = 0;
        size_t counter_w = 0;
        size_t maxlen_s = 0;
        size_t maxlen_w = 0;
        
        char text[512] ="";
 
       size_t i = 0;
        ofstream output("fileWrite.txt");
        if (!output) 
        {
                cerr << "Error in opening file for writing" << endl;
        };
        ifstream input("fileRead.txt");
        if(!input)
            {
                cerr << "Error in opening file for reading" << endl;
        }else{
        while(!input.eof())
       {
           input.get(text[i]);
            if(text[i - 1] == '.' ) counter_s = 0;
                if(text[i] == '.' && counter_s > maxlen_s){
                    pos_s = i;
                    maxlen_s = counter_s;
                }                                       
        if(!isalpha(text[i]) || text[i]=='\0')
            counter_w = 0;
        
                if(isalpha(text[i]) && counter_w > maxlen_w){
                    pos_w = i;maxlen_w = counter_w;
                                    }
        
                counter_w++;
                counter_s++;
                i++;
        }}
        input.close();
        text[i] = '\0';  
        i = 0;
        counter_w = 0;
            while(text[i]){
            
                if(text[i] == '.' && pos_s == i){
                    output << "Longest sentence :\n";
                    cout << "\nLongest sentence :";
            for (k = n; k <= i; k++) {output <<  text[k];
            cout <<  text[k];}
             n = i + 1;
             output << endl;
             cout << endl;
         }
        
         if( text[i] == '.'&& pos_s != i )  {   
             
             n = i + 1;
         }  
         if(isalpha(text[i])) counter_w++;
            if(!isalpha(text[i]) || text[i]=='\0')
            counter_w = 0;
                if(isalpha(text[i]) && pos_w == i){
                    output << "Longest word :\n";
                    cout << "\nLongest word :";
                    for(j = i - counter_w ; j <= i; j++)
                    {output << text[j];cout << text[j];}
                output <<  endl;    
                
                cout <<  endl;  
                }       
            i++;
        }
            output.close();
        cout << "\nAll text :\n" << text << endl;
 
        system("pause");
}
Запишется во второй файл:
C
1
2
3
4
5
Longest word :
 favorites
Longest sentence :
 Show Recent Projects from the 
Welcome Page menu to create your favorites.
Консоль:
Миниатюры
Строки. В заданном тексте найти самое длинное слово и самое длинное предложение.  
0
0 / 0 / 1
Регистрация: 22.02.2012
Сообщений: 36
21.03.2012, 21:01  [ТС]
MrCold, а она в 2008 проге пойдет?
0
873 / 771 / 173
Регистрация: 11.01.2012
Сообщений: 1,942
21.03.2012, 21:07
Пойдет.

Добавлено через 4 минуты
Если не пойдет ,подключите #include "stdafx.h" .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2012, 21:07
Помогаю со студенческими работами здесь

В заданном предложении найти самое короткое и самое длинное слово
Строка вводится с клавиатуры. Нужно выполнить задание, не применяя функций типа strtok и прочих, которые, вроде как, облегчили бы работу...

Найти самое длинное и самое короткое слово в тексте
найти самое длинное и самое короткое слово в тексте #include &quot;stdafx.h&quot;endl; #include &lt;iostream&gt; #include &lt;string&gt; ...

Найти самое длинное и самое короткое слово в тексте
Всем доброго времени суток! В моем задание нужно найти самое длинное и самое короткое слово в тексте. Самое длинное я нашел, а самое...

Строки: найти самое короткое и самое длинное слово
прошу спосите меня.... Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить количество слов в строке; ...

Найти самое длинное предложение в тексте
Найти самое длинное предложение в тексте( не строку) Код для нахождения самой длинной строки: #include &lt;stdio.h&gt; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru