Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Модель однопроцессорной вычислительной системы разделения времени http://www.cyberforum.ru/cpp-beginners/thread456516.html
разработать программу, моделир. один из алгоритмов управл. процессами в соответствии с вариантом задания. При моделировании считать что: - однопроцессорная вычислит. система разделения времени - общий объем памяти вычислит. системы составл. 64К - ввод-вывод явл. разделяемым ресурсом, недопускающ.одновременного использования несколькими процессорами и требующий решения проблемы синхронизации...
C++ Переписать данные файла input.txt в output.txt, отсортировав их Прошу помочь с заданием. В файле input.xtx содержатся сведения о группе студентов в формате: номер группы; запись о каждом студенты группы содержит следующие сведения:фамилия, имя, отчество, год рождения, оценки по пяти предметам. Переписать данные файла input.txt в output.txt, отсортировав их: в алфавитном порядке по фамилии, а затем по убыванию года рождения методом сортировки вставками,... http://www.cyberforum.ru/cpp-beginners/thread456514.html
Наибольший общий делитель (НОД) двух целых положительных чисел A и B, используя алгоритм Евклида C++
Описать функцию NOD2(A, B) целого типа, находящую наибольший общий делитель (НОД) двух целых положительных чисел A и B, используя алгоритм Евклида: НОД(A, B) = НОД(B, A mod B), если B ≠ 0; НОД(A, 0) = A. С помощью этой функции найти наибольшие общие делители пар (A, B), (A, C), (A, D), если даны числа A, B, C, D.
C++ описать функцию находящую пло-щадь треугольника ABC по формуле Герона
Proc58. описать функцию Area(xA, yA, xB, yB, xC, yC) вещественного типа, находящую пло-щадь треугольника ABC по формуле Герона С помощью этой функции найти площади тре-угольников ABC, ABD, ACD, если даны координаты точек A, B, C, D.
C++ Описать функцию Arctg1(x, ε) http://www.cyberforum.ru/cpp-beginners/thread456504.html
Описать функцию Arctg1(x, ε) вещественного типа (параметры x, ε — вещественные, |x| < 1, ε > 0), находящую приближенное значение функции arctg(x): arctg(x) = x – x3/3 + x5/5 – … + (–1)n·x2·n+1/(2·n+1) + … . В сумме учитывать все слагаемые, модуль которых больше ε. С помощью Arctg1 найти приближенное значение arctg(x) для данного x при шести дан-ных ε.
C++ Использование обобщенных алгоритмов на С++ Всем привет, есть задание проги написать на С++, проблема в том , что на С++ давно не писала и многое не помню.Вот задание: Записать в файл последовательность дат в формате «число.месяц.год». Считать содержимое файла в контейнер(vector<string>). Отсортировать элементы контейнера по мере роста года.Вывести элементы контейнера в формате «год \ месяц \ число» использовать обобщенные методы find,... подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 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;
}
 
Текущее время: 05:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru