Cod sursa(job #1773101)

Utilizator GilgodRobert B Gilgod Data 7 octombrie 2016 15:43:52
Problema Text Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;

#define islet isalpha
#define BUFSIZE 65535
typedef long long ll;

const char IN[] = "text.in",
		   OUT[] = "text.out";

int main()
{
	freopen(IN, "r", stdin);
	freopen(OUT, "w", stdout);

	char c, pre = '-';
	ll chars = 0;
	ll words = 0;
	char buf[BUFSIZE];
	int retsize;

	do {
		retsize = fread(buf, sizeof (char), BUFSIZE, stdin);
		buf[retsize] = '\0';
		for (char *c = buf; *c != '\0'; ++c) {
			if (islet(*c)) {
				++chars;
				if (!islet(pre))
					++words;
			}

			pre = *c;
		}
	} while (retsize == BUFSIZE);

	fprintf(stderr, "%llu\n", chars);
	fprintf(stderr, "%llu\n", words);
	fprintf(stderr, "%llu\n", chars / words);

	printf("%llu\n", chars / words);

	fclose(stdin);
	fclose(stdout);
	return 0;
}