Pagini recente » Cod sursa (job #2717888) | Cod sursa (job #272911) | Cod sursa (job #2341663) | Cod sursa (job #822157) | Cod sursa (job #497288)
Cod sursa(job #497288)
#include <fstream>
#include <string>
#define MAX 1000000
using namespace std;
char t[MAX];
int main() {
ifstream f("text.in");
ofstream g("text.out");
int len, i, nrWord = 0, nrLetter = 0;
//f.get(t,MAX);
//g << t << endl;
//len = strlen(t);
//i = 0;
//char c;
/*while (!f.eof()) {
f.get(c);
while ( (!f.eof()) && (((c>='a') && (c<='z')) || ((c>='A') && (c<='Z'))) ) {
nrLetter++;
f.get(c);
cout << c << " ";
}
if ((!f.eof()) && (!(((c>='a') && (c<='z')) || ((c>='A') && (c<='Z'))))) nrWord++; // nu e bine, daca incep cu un caracter diferit de litera, imi incrementeaza cuvantul, bleah!
while ( (!f.eof()) && (!isalpha(c)) ) {
f.get(c);
}
}*/
/*while (!f.eof()) {
f.getline(t,MAX);
len = strlen(t);
i = 0;
while ( i < len ) {
if ( isalpha(t[i]) ) {
nrLetter++;
if ( i == len - 1 )
nrWord++;
}
else
if ((i != 0) && (isalpha(t[i-1]))) nrWord++;
i++;
}
}*/
while (!f.eof()) {
f.getline(t,MAX);
len = strlen(t);
i = 0;
while ( i < len ) {
while ( (i < len) && (isalpha(t[i])) ) {
i++;
nrLetter++;
}
if ( i > 0 ) nrWord++;
while ( (i < len) && !(isalpha(t[i])) ) {
i++;
}
}
}
if ( !nrWord )
g << 0;
else {
// g << "litere : " << nrLetter << endl;
// g << "cuvinte : " << nrWord << endl;
g << nrLetter / nrWord;
}
return 0;
}