This commit is contained in:
Andrew 2019-11-23 02:39:51 +07:00
parent aa13833071
commit 4d82d1d64f
3 changed files with 104 additions and 0 deletions

View file

@ -0,0 +1,36 @@
// pb_z13_37.cpp
// Горбацевич Андрей
#include <iostream>
#include <fstream>
#define MAX_STRING 500
using namespace std;
void join(const char *sep, istream &ist, ostream &ost);
int main() {
ifstream inf("in.txt");
ofstream fout("out.txt", ios::trunc);
if (!inf.is_open() || !fout.is_open())
{
cerr << "Unable to open file" << endl;
return 1;
}
string sep;
cout << "Enter separator >>>";
getline(cin, sep, '\n');
join(sep.c_str(), inf, fout);
return 0;
}
void join(const char *sep, istream &ist, ostream &ost) {
while (!ist.eof() && ist.good()) {
char buf[MAX_STRING];
ist >> buf;
ost << buf;
if (!ist.eof()) {
ost << sep;
}
}
}

View file

@ -0,0 +1,31 @@
// pb_z13_38.cpp
// Горбацевич Андрей
#include <iostream>
#include <fstream>
using namespace std;
void rev_lines(istream &ist, ostream &ost);
int main() {
ifstream inf("in.txt");
ofstream fout("out.txt", ios::trunc);
if (!inf.is_open() || !fout.is_open())
{
cerr << "Unable to open file" << endl;
return 1;
}
rev_lines(inf, fout);
return 0;
}
void rev_lines(istream &ist, ostream &ost) {
string out;
while (!ist.eof() && ist.good()) {
string buf;
getline(ist, buf);
out.insert(0, buf + "\n");
}
ost << out.substr(0, out.size()-1);
}

View file

@ -0,0 +1,37 @@
// pb_z13_39.cpp
// Горбацевич Андрей
#include <iostream>
#include <fstream>
using namespace std;
void wrap_text(istream &ist, ostream &ost, int max_line_len);
int main() {
ifstream inf("in.txt");
ofstream fout("out.txt", ios::trunc);
if (!inf.is_open() || !fout.is_open())
{
cerr << "Unable to open file" << endl;
return 1;
}
int max_line_len = 0;
cout << "Maximal line length >>>";
cin >> max_line_len;
wrap_text(inf, fout, max_line_len);
return 0;
}
void wrap_text(istream &ist, ostream &ost, int max_line_len) {
int cl = 0;
char c;
while ((c = ist.get()) && !ist.eof() && ist.good()) {
if (cl >= max_line_len) {
cl = 0;
ost << endl;
}
ost << c;
cl++;
}
}