Предмет: Информатика, автор: Vlad3259

Написать программу на С++
Дан символьный файл f. Получить в файле g все малые латинские буквы файла f.

Ответы

Автор ответа: icYFTLRU
0

#include <iostream>

#include <regex>

#include <fstream>

#include <string>

using namespace std;

int main() {

   ifstream fin("f");

   string s = "", _temp;

   while (getline(fin, _temp))

       s += _temp;

   fin.close();

   ofstream fout("g");

   try {

       regex re("[a-z]");

       sregex_iterator next(s.begin(), s.end(), re);

       sregex_iterator end;

       while (next != end) {

           smatch match = *next;

           fout << match.str();

           next++;

       }

   }

   catch (regex_error& e) {

       cout << "smth went wrong.";

   }

   fout.close();

}


Vlad3259: А можно как-то сделать без regex,попроще?
Vlad3259: и эта программа не работает
Vlad3259: она сразу завершается
icYFTLRU: Очевидно она завершается. По ТЗ меня попросили добавить всё в файл g из файла f. Если ты не в силах понять regexp - переводись обратно в 5-тый класс.
Vlad3259: Первый курс как бы,ещё такое не учили
csharp: Она завершается, поскольку у Вас не создан символьный файл f, из которого читались бы данные. Программа работает. А что касаемо "попроще" - извините, указывайте в условии задания, как именно Вы хотите, чтобы Вам решили задание. Если таких уточнений нет, автор в праве делать так, как захочется ему самому.
icYFTLRU: Спасибо, @Csharp
Похожие вопросы