С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Amanta
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 2
#1

Найти самое длинное слово в файле - C++

10.05.2013, 11:13. Просмотров 678. Ответов 6
Метки нет (Все метки)

В заданном тексте (файле) найти самое длинное слово и самую длинную фразу и вывести их на
экран. (C++)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 11:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти самое длинное слово в файле (C++):

В файле найти самое длинное слово - C++
Ребята, нужно написать программу, которая считывает текст из файла и находит самое длинное слова, а так же считает сколько раз оно...

Найти самое длинное слово в файле - C++
Есть програма но в ней нужно дописать функцию которая бедет, получать название файла, а возращает позицию самого длинного слова и самое...

Найти самое длинное слово в файле - C++
Есть программа которая ищет и выводит количество символов в файле. В ней нужно дописать поиск самого длинного слова и вывести его на экран ...

Нужно найти самое длинное слово в файле - C++
Уже час не могу понять в чем ошибка, все компилируется, но выдает лишь последний символ. #include<iostream> #include<fstream> ...

Строки. В заданном тексте найти самое длинное слово и самое длинное предложение. - C++
Задача: В заданном тексте найти самое длинное слово и самое длинное предложение. Помогите решить На СИ++ в Visual Studio.

Найти самое длинное слово в файле и определить количество его вхождений - C++
Помогите пожалуйста с програмой. Не могу понять как ето зделать: Написать программу, которая считывает текст из файла, находит самое...

6
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
10.05.2013, 13:18 #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
#include <iostream>
#include <algorithm>
#include <fstream>
#include <iterator>
 
using namespace std;
 
int main()
{
    ifstream text("text.txt");
    istream_iterator<string> is(text);
    string longest_word;
    string::size_type len = 0, l;
    while (is != istream_iterator<string>()) {
        l = static_cast<string>(*is).size();
        if ( l > len ) {
            len = l;
            longest_word = *is;
        }
        ++is;
    }
    text.close();
    cout << "longest word is " << longest_word;
 
    text.open("text.txt");
 
    istreambuf_iterator<char> iis(text);
    string longest_phrase, _longest;
 
    while (iis != istreambuf_iterator<char>()) {
        if ( *iis != '.' ) {
            _longest.push_back(*iis);
            ++iis;
            continue;
        }
        if ( _longest.size() > longest_phrase.size() )
            swap(longest_phrase, _longest);
        _longest.clear();
        ++iis;
    }
    text.close();
    longest_phrase.push_back('.');
    cout << "\nlongest phrase is " << longest_phrase;
    return 0;
}
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
10.05.2013, 14:40 #3
Olivеr,Найти самое длинное слово в файле


kitiket22, может я невнимательно посмотрел, но Вы темой не ошиблись?
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
10.05.2013, 19:39 #4
BumerangSP, самое длинное слово - согласен, а фраза - код опирается на точку в конце предложения. ТС поправит если ему нужно

Переделал:
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
#include <iostream>
#include <algorithm>
#include <fstream>
#include <iterator>
 
using namespace std;
 
int main()
{
    ifstream text("text.txt");
    istreambuf_iterator<char> is(text);
    string longest_word, word;
 
    while (is != istreambuf_iterator<char>()) {
        if ( isalpha(*is) )
            word.push_back(*is);
        else {
            if ( word.empty() ) {
                ++is;
                continue;
            }
            if ( *is == '-' && isalpha( *++is ) ) {
                word.push_back('-');
                word.push_back(*is);
                ++is;
                continue;
            }
            if ( longest_word.size() < word.size())
                longest_word.swap(word);
            word.clear();
        }
        ++is;
    }
    text.close();
 
    cout << "longest word is " << longest_word;
 
    text.open("text.txt");
 
    istreambuf_iterator<char> iis(text);
    string longest_phrase, _longest;
 
    while (iis != istreambuf_iterator<char>()) {
        if ( *iis != '.' && *iis != '?' && *iis != '!' && *iis != '\n') {
            _longest.push_back(*iis);
            ++iis;
            continue;
        }
        else if ( _longest.size() > longest_phrase.size() )
            longest_phrase.swap(_longest);
        _longest.clear();
        ++iis;
    }
    text.close();
    cout << "\nlongest phrase is " << longest_phrase;
 
    return 0;
}
0
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
10.05.2013, 19:44 #5
http://www.cyberforum.ru/attachment....1&d=1368200709
0
Миниатюры
Найти самое длинное слово в файле  
kitiket22
1 / 1 / 0
Регистрация: 31.01.2013
Сообщений: 4
10.05.2013, 20:13 #6
Цитата Сообщение от BumerangSP Посмотреть сообщение
Olivеr,Вложение 265606


kitiket22, может я невнимательно посмотрел, но Вы темой не ошиблись?
Действительно ошибся
0
Amanta
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 2
24.05.2013, 18:49 #7
А можно решить ее без итераторов??
0
24.05.2013, 18:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2013, 18:49
Привет! Вот еще темы с ответами:

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

Напечатать самое длинное слово, найденное в текстовом файле - C++
ЗДРАВСТВУЙТЕ! подскажите с чего начать в решениие этой задачи ==&gt; &quot;Напечатать самое длинное слово, найденное в текстовом файле&quot;, нужно...

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

Найти самое короткое и самое длинное слово в строке - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; using namespace std; void inp(char); void...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.