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

Из текстового файла убрать одно из двух подряд идущих одинаковых слов - C++

Восстановить пароль Регистрация
 
denstr
3 / 3 / 0
Регистрация: 21.11.2011
Сообщений: 143
26.12.2012, 07:36     Из текстового файла убрать одно из двух подряд идущих одинаковых слов #1
Написать программу, которая из текстового файла убирает одно из двух подряд идущих одинаковых слов и подсчитывает, сколько таких слов было убрано.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 07:36     Из текстового файла убрать одно из двух подряд идущих одинаковых слов
Посмотрите здесь:

Найти наименьшее количество одинаковых, идущих подряд элементов C++
C++ Написать программу поиска двух одинаковых подряд идущих символа в файле
Вывод слов с наличием двух и более подряд идущих гласных букв C++
Если в одномерном массиве встречаются 2 подряд идущих одинаковых числа, то одно нужно удалить C++
C++ Определить максимальное количество одинаковых символов, идущих подряд
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
27.12.2012, 00:45     Из текстового файла убрать одно из двух подряд идущих одинаковых слов #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
#include <iostream>
#include <string>
#include <list>
#include <fstream>
#include <algorithm>
#include <iterator>
#include <cstdio>
#include <stdexcept>
 
int main()
{
    try
    {
        std::string const filename = "in.txt";
        std::ifstream ifs(filename.c_str());
        if(!ifs.is_open())
            throw std::runtime_error("Unable to open input file");
        std::list<std::string> l((std::istream_iterator<std::string>(ifs)), std::istream_iterator<std::string>());
        auto ie = std::unique(l.begin(), l.end());
        if(!remove(filename.c_str()))
            throw std::runtime_error("remove failed");
        std::ofstream ofs(filename.c_str());
        if(!ofs.is_open())
            throw std::runtime_error("Unable to open output file");
        std::copy(l.begin(), ie, std::ostream_iterator<std::string>(ofs, " "));
        std::cout << std::distance(ie, l.end()) << std::endl;
    }
    catch(std::exception const& e)
    {
        std::cerr << e.what() << std::endl;
    }
    return 0;
}
/*
aaa   aaa bb b bbb bbb c
 c c c
 
*/
denstr
3 / 3 / 0
Регистрация: 21.11.2011
Сообщений: 143
27.12.2012, 12:20  [ТС]     Из текстового файла убрать одно из двух подряд идущих одинаковых слов #3
C++
1
 std::list<std::string> l((std::istream_iterator<std::string>(ifs)), std::istream_iterator<std::string>());
ошибка в этой строке(
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
27.12.2012, 12:22     Из текстового файла убрать одно из двух подряд идущих одинаковых слов #4
denstr, Вы такой загадочный(ая). Может скажите какая у Вас там ошибка?
denstr
3 / 3 / 0
Регистрация: 21.11.2011
Сообщений: 143
27.12.2012, 12:25  [ТС]     Из текстового файла убрать одно из двух подряд идущих одинаковых слов #5
вот вообщем что выходит
Миниатюры
Из текстового файла убрать одно из двух подряд идущих одинаковых слов  
Yandex
Объявления
27.12.2012, 12:25     Из текстового файла убрать одно из двух подряд идущих одинаковых слов
Ответ Создать тему
Опции темы

Текущее время: 07:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru