Задание: Написать программу, которая считывает текст из файла и выводит его предложения в обратном порядке.
Я начал писать программу, но даже не представляю как можно сделать так, чтобы предложения выводились в обратном порядке. Подскажите плз хотя бы идею как это сделать??
Программа:
Уточни, при входном файле:
Вот так: ret.
def.
abc.
Способов на самом деле море... Можно читать строки из файла в vector<std::string>, а потом применить к нему reverse(v.begin(), v.end());
и вывести на печать...
Можно сделать вот так (используем рекурсию для "разворота" порядка следования предложений):
#include <fstream.h>(при условии, что все предложение разделяются точками)
void read_file(ifstream &f, char *buffer) {
if(!f.eof()) {
char *p;
p = new char[256];
f.getline(p, 255, '.');
read_file(f, p);
}
cout << buffer << endl;
}
int main() {
ifstream f_in("text.txt", ios::in);
if(!f_in) {
cout << "error opening file";
}
else {
read_file(f_in, "");
f_in.close();
}
return 0;
}
большое спасибо