Pagini recente » Cod sursa (job #1806472) | Cod sursa (job #2770841) | Cod sursa (job #1320235) | Cod sursa (job #856688) | Cod sursa (job #1602350)
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
ifstream f("text.in");
ofstream g("text.out");
short MAX;
string s;
vector<string> a;
void spatiere(short spatii, short maxim)
{
spatii--;
int splus=(MAX-maxim)/spatii;
short rest=(MAX-maxim)%spatii;
cout<<splus<<" "<<maxim<<" "<<spatii;
for(int i=0; i<a.size(); i++)
{
g<<a[i]<<" ";
if(i!=a.size()-1)
for(int j=1; j<=splus; j++)
{
g<<" ";
}
if(rest>0)
{
g<<" ";
rest--;
}
}
g<<"\n";
}
int main()
{
f>>MAX;
getline(f,s);
short c=0, maxim=0, spatii=0, sfpar=0;
while (f >> s)
{
//cout<<s<<" ";
c=s.length();
if((s[c-1]=='.')||(s[c-1]=='?')||(s[c-1]=='!'))
{
sfpar=1;
}
maxim+=c;
//cout<<s<<"\n";
if(maxim<MAX)
{
a.push_back(s);
spatii++;
maxim++;
if(sfpar==1)
{
for(int i=0; i<a.size(); i++)
{
g<<a[i]<<" ";
}
g<<"\n";
sfpar=0;
maxim=0;
spatii=0;
a.clear();
}
}
else
{
if(sfpar==1){
maxim-=c+1;
spatiere(spatii, maxim);
g<<s<<"\n";
maxim=0;
spatii=0;
a.clear();
}
else{
maxim-=c+1;
spatiere(spatii,maxim);
maxim=c+1;
a.clear();
a.push_back(s);
spatii=1;
}
}
}
return 0;
}