Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
vasek589
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 6
1

Текстовые файлы и потоки ввода/вывода

11.12.2012, 23:05. Просмотров 881. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Уважаемый гуру, не могли бы вы мне помочь с решением данной программы. Алгоритм знаю, но никак не могу его реализовать.
Написать программу, которая считывает текст из файла, находит самое длинное слово и
определяет, сколько раз оно встретилось в тексте.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
using namespace std;
void main()
{
    char character, predl_t[1000];  
    ifstream in_stream; // создаем поток ввода информации
    ofstream out_stream; // создаем поток вывода информации
    in_stream.open( "input.txt" ); // Открываем документ для считывания
    out_stream.open( "output.txt" ); // Открываем документ для записи
    while ( !in_stream.eof() ) // задаем цикл
    {
        in_stream.getline(predl_t, sizeof(predl_t), '.');
        for(int x=0; x<=strlen(predl_t); x++ )
        {
            тут должен быть код;
        }
        in_stream.get(character);
    }
    out_stream.close(); // закрываем поток вывод
    in_stream.close(); // закрываем поток ввода
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2012, 23:05
Ответы с готовыми решениями:

Рассчитать значения выражений используя для ввода и вывода текстовые файлы
Нужна помощь! Вот задание: Составить программу для расчета значений z1 и z2...

нужно переделать код (из Файлы текстовые (FILE*) в Файлы текстовые (потоки))
вот задание для программы: 6. Задан текстовый файл input.txt. Требуется...

Что такое потоки ввода, потоки вывода?
Здарова всем! Не так давно уже прогаю на С++ и все НИКАК не могу понять, что...

Потоки ввода вывода
Почему с помощью классов ostream и istream нельзя создавать свои потоки ввода...

Потоки ввода-вывода в С++
Ребят, нужна помощь В программирование я новичок, но сдать нужно 1....

5
diga
6 / 6 / 1
Регистрация: 30.03.2012
Сообщений: 111
11.12.2012, 23:07 2
что то подобное встречалось помню, поищи по темам может найдешь
0
MrGluck
Модератор
Эксперт CЭксперт С++
8084 / 4941 / 1431
Регистрация: 29.11.2010
Сообщений: 13,392
11.12.2012, 23:17 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <fstream>
#include <algorithm>
#include <iterator>
 
 
int main()
{
    std::ifstream ifs("input.txt");
    if (!ifs) return 1;
    std::string max = *std::max_element(std::istream_iterator<std::string>(ifs),
        std::istream_iterator<std::string>(), [](const std::string &s1,
            const std::string &s2) { return s1.length() < s2.length(); } );
    ifs.clear();
    ifs.seekg(0);
    std::cout << std::count(std::istream_iterator<std::string>(ifs),
        std::istream_iterator<std::string>(), max) << std::endl;
}
0
vasek589
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 6
11.12.2012, 23:20  [ТС] 4
MrGluck, в вашей программе я не вижу чтоб заносился в другой файл количество слов и какое это слово.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8084 / 4941 / 1431
Регистрация: 29.11.2010
Сообщений: 13,392
11.12.2012, 23:24 5
Цитата Сообщение от vasek589 Посмотреть сообщение
MrGluck, в вашей программе я не вижу чтоб заносился в другой файл количество слов и какое это слово.
vasek589, в вашем задании я не вижу, чтобы этого требовалось сделать. Каков вопрос - таков ответ.

Добавлено через 1 минуту
И неужели так сложно поток вывода поменять?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <string>
#include <fstream>
#include <algorithm>
#include <iterator>
 
 
int main()
{
    std::ifstream ifs("input.txt");
    std::ofstream o("output.txt");
    if (!ifs) return 1;
    std::string max = *std::max_element(std::istream_iterator<std::string>(ifs),
        std::istream_iterator<std::string>(), [](const std::string &s1,
            const std::string &s2) { return s1.length() < s2.length(); } );
    ifs.clear();
    ifs.seekg(0);
    o << max << " " << std::count(std::istream_iterator<std::string>(ifs),
        std::istream_iterator<std::string>(), max) << std::endl;
}
0
vasek589
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 6
12.12.2012, 00:22  [ТС] 6
MrGluck, не могли бы вы сделать это вот в этом коде, а то я ваш код не много не понимаю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <fstream>
#include <iostream>
using namespace std;
void main()
{
    char character, predl_t[1000];  
    ifstream in_stream; // создаем поток ввода информации
    ofstream out_stream; // создаем поток вывода информации
    in_stream.open( "input.txt" ); // Открываем документ для считывания
    out_stream.open( "output.txt" ); // Открываем документ для записи
    while ( !in_stream.eof() ) // задаем цикл
    {
        in_stream.getline(predl_t, sizeof(predl_t), '.');
        for(int x=0; x<=strlen(predl_t); x++ )
        {
            тут должен быть код;
        }
        in_stream.get(character);
    }
    out_stream.close(); // закрываем поток вывод
    in_stream.close(); // закрываем поток ввода
}
Добавлено через 53 минуты
Проблему решил.
0
12.12.2012, 00:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 00:22

Потоки ввода-вывода
1) Типы данных, для которых перегружены операторы форматного ввода-вывода.

Потоки ввода/вывода
Здравствуйте! Расскажите мне пожалуйста подробнее о всех особенностях потоков...

Используя потоки ввода/вывода в С++
Здравствуйте помогите организовать запись информации из массива объектов в...


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

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

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