Cod sursa(job #472324)

Utilizator marius.bucurBucur Marius - Ovidiu marius.bucur Data 23 iulie 2010 20:28:30
Problema Text Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<stdlib.h>

#define MEGABYTE 1024 * 1024
#define PAGESIZE 1024 * 4
#define is_letter(x) ((x >= 'a' && x <= 'z') || (x >= 'A' && x <= 'Z'))

char s[2*MEGABYTE];

int main()
{
	char* S = s;
	FILE* f = fopen("text.in", "r");
	fseek(f, 0, SEEK_END);
	long l = ftell(f);
	fseek(f, 0, SEEK_SET);
	int i = 0;
	while(i < l)
	{
		int aux = fread(S, 1, PAGESIZE, f);
		printf("[aux %d]\n", aux);
		i += aux;
		S = s + i;
	}
	int cuv = 0;
	int total = 0;
	i = 0;
	while(i < l)
	{
		if(is_letter(s[i]))
		{
			cuv++;
			while(is_letter(s[i]) && i < l)
			{
				total++;
				i++;
			}
		}
		else
			i++;
	}
	fclose(f);
	f = fopen("text.out", "w");
	fprintf(f, "%d\n", total/cuv);
	fclose(f);
	return 0;
}