Cod sursa(job #200854)

Utilizator IrnukIrina Grosu Irnuk Data 27 iulie 2008 00:39:42
Problema Text Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 kb
/*Text

Dezamagit de rezultatele sale la ultimul concurs, Paftenie a renuntat la programare si s-a concentrat strict asupra muncii laborioase, dar care implica mai putin efort intelectual. De aceasta data, el primeste un text si trebuie sa calculeze lungimea medie a cuvintelor textului, un cuvant fiind definit ca o secventa continua maximala de caractere ale alfabetului englez ('a' .. 'z' , 'A' .. 'Z'). Definim lungimea medie = (lungimea totala a cuvintelor textului) / (numarul de cuvinte ale textului).

Cerinta
Scrieti un program care ii rezolva problema lui Paftenie.

Date de intrare
Pe prima linie a fisierului de intrare text.in se gaseste textul dat.

Date de iesire
Fisierul de iesire text.out va contine pe prima linie un singur intreg, reprezentand partea intreaga a lungimii medii a cuvintelor textului.

*/

#include<fstream.h>
#include<string.h>
ifstream fin("text.in");
ofstream fout("text.out");

char s[1000000],sep[100]="0123456789- ;,.:'[]{}!~`@#$%^&*()_+=?/><",*p;
unsigned long sum,cont,cons;
int main()
{
	int i;
	while(fin.getline(s,10000))
	{   
	/*	for(i=0;i<strlen(s);i++)
			if(s[i]>='a' &&s[i]<='z') cons++;
				else
				if(s[i]>='A' && s[i]<='Z')
					cons++;
*/
		p=strtok(s,sep);
		while(p!=NULL)
		{      
			sum+=strlen(p);
			p=strtok(NULL,sep);
			cont++;
	       //	cout<<p<<'\n';
	    }

	}
//	cout<<cons<<" "<<sum;
	fout<<sum/cont;

	fout.close();
	return 0;
}