Cod sursa(job #396869)

Utilizator andrei.sfrentSfrent Andrei andrei.sfrent Data 15 februarie 2010 23:39:28
Problema Text Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <stdlib.h>

#define litera(c) (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')))

int main()
{
	FILE* fi = fopen("text.in", "r");
	int len;
	fseek(fi, 0, SEEK_END);
	len = ftell(fi);
	fseek(fi, 0, SEEK_SET);
	char* text = (char*)malloc(len);
	fread(text, 1, len, fi);
	fclose(fi);
	int suma = 0, nrcuv = 0, incuv = 0, i, islit;
	for(i = 0; i < len; ++i) 
	{
		islit = litera(text[i]);
		if(islit) suma++;
		if(incuv)
		{
			if(islit)
			{
				//nimic	
			}
			else
			{
				incuv = 0; //nu mai e
			}
		}
		else
		{
			if(islit)
			{
				nrcuv++; //inca unul
				incuv = 1; //e
			}
			else
			{
				//nimic
			}
		}
	}
	FILE* fo = fopen("text.out", "w");
	fprintf(stderr, "%d %d\n", suma, nrcuv);
	fprintf(fo, "%d\n", suma / nrcuv);
	fclose(fo);
	return 0;
}