Pagini recente » Istoria paginii blog/doi-la-suta-2008-raport | Cod sursa (job #1852440) | Cod sursa (job #228083) | Cod sursa (job #1710255) | Cod sursa (job #2072351)
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int NrCuvinte(string x);
int NrLitere(string x);
int main()
{
string text;
int a=0,b=0;
ifstream in("text.in");
ofstream out("text.out");
while(in>>text)
{
if(NrCuvinte(text)==1)
{
b++;
a+=NrLitere(text);
}
if(NrCuvinte(text)==2)
{
b+=2;
a+=NrLitere(text);
}
}
out<<a/b;
out.close();
in.close();
return 0;
}
int NrLitere(string x)
{
string ver=",.?!-";
string N,M;
int a=0,b=0;
for(int i=0; i<x.length(); i++)
{
M=x.at(i);
for(int j=0; j<ver.length(); j++)
{
N=ver.at(j);
if(M.compare(N)==0){a++;}
}
b++;
}
return b-a;
}
int NrCuvinte(string x)
{
string ver="0123456789!@#$%^&*()-=_+|\[]{};':,./<>?`~";
string ver2=",.?!-";
int Na=0,b=0,Nn=0;
string M,N,a,a1,c;
M=x.at(0);
N=x.at(x.length()-1);
for(int i=0; i<x.length(); i++)
{
a=x.at(i);
for(int j=0; j<ver.length(); j++)
{
a1=ver.at(j);
if(M.compare(N)==0 && M.compare(a1)==0 && x.length()==1){return 0;}
if(a.compare(a1)==0)
{
if(a.compare(M)==0 || a.compare(N)==0){
for(int m=0; m<ver2.length(); m++)
{
c=ver2.at(m);
if(a1.compare(c)==0){Nn++;}
}
}
else
{
if(a.compare("-")){Na++;}
else b++;
}
}
}
}
Na-=Nn;
switch(b)
{
case 0: if(Na>0){return 0;}
else return 1;
break;
case 1: if(Na>0){return 0;}
else return 2;
break;
}
}