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

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

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

Вывести предложения в обратном порядке - C++

10.08.2014, 19:00. Просмотров 789. Ответов 4
Метки нет (Все метки)

Файлы.

Помогите, пожалуйста. Нужно написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
Я понимаю алгоритм и в принципе выполнение задачи, но у меня одна крошечная загвоздка: «в обратном порядке». Мне кажется, что необходимо рассматривать файл с конца (впрочем, быть может есть какой-то другой способ), но я никак не могу в этот самый конец переместиться. В выданной методичке по этому поводу ничего нет, примеры там вообще всегда нерабочие, а гугл мне ничем не помог.
Т.е. алгоритм, как я поняла такой:
1) Перемещаемся в конец файла
2) Считываем в массив последнее предложение
3) Выводим его на экран
4) Освобождаем массив
5) Записываем в него следующее (точнее предыдущее) предложение и т.д.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2014, 19:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести предложения в обратном порядке (C++):

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

Считать три предложения и вывести их в обратном порядке - C++
Программа , которая считывает три предложения и выводит их в обратном порядке. ребят помогите очень надо..

Считать предложения из txt и вывести их на экран в обратном порядке - C++
#include<cctype> #include <iostream> #include <string.h> using namespace std; int main() { FILE * p_file; ...

Считать из файла три предложения и вывести их в обратном порядке - C++
Помогите пожалуйста дорешить задачу!!! Файл я создала, а что дальше делать и как я не знаю... #include <fstream> #include...

Считать в строку три предложения и вывести их в обратном порядке - C++
Считать в строку три предложения и вывести их в обратном порядке #include <conio.h> #include <stdio.h> #include <stdlib.h> #include...

Считать в строку три предложения в вывести их в обратном порядке - C++
Считать в строку три предложения в вывести их в обратном порядке #include<conio.h> #include<stdio.h> #include<stdlib.h> ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Gouvere
19 / 19 / 3
Регистрация: 25.11.2013
Сообщений: 122
10.08.2014, 19:06 #2
Есть вариант: просто прочитать весь файл задом наперед. То есть, это тот же цикл, но просто немного изменено условие. Могу написать код, но на Си.
Барбос
0 / 0 / 0
Регистрация: 10.08.2014
Сообщений: 5
10.08.2014, 19:39  [ТС] #3
Gouvere, м-м-м, можно попробовать, наверное.
Была бы очень благодарна, если бы написали код. Пусть и на С.
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
10.08.2014, 20:20 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <fstream>
#include <string>
#include <stack>
 
int main()
{
    std::ifstream ifs("in.txt");
    if(ifs.is_open())
    {
        std::string str, sdel(".!?");
        std::stack<std::string> stk;
        for(char c; ifs.get(c); )
        {
            str += c;
            if(sdel.find(c) != std::string::npos)
            {
                stk.push(str);
                str.clear();
            }
        }
        for( ; !stk.empty(); stk.pop())
        {
            std::cout << stk.top() << '\n';
        }
    }
    else
        std::cerr << "Unable to open input file\n";
    return 0;
}
Барбос
0 / 0 / 0
Регистрация: 10.08.2014
Сообщений: 5
13.08.2014, 16:37  [ТС] #5
igorrr37, спасибо вам огромное, все работает)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 16:37
Привет! Вот еще темы с ответами:

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

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

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

Считать три предложения и вывести их в обратном порядке (нужны комментарии) - C++
Всем Здравствуйте. У меня есть рабочий код программы. Вот сама задача: Написать программу, которая считывает три предложения и выводит их в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.08.2014, 16:37
Ответ Создать тему
Опции темы

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