Pagini recente » Cod sursa (job #175072) | Cod sursa (job #2474944) | Cod sursa (job #1032479) | Cod sursa (job #809076) | Cod sursa (job #200854)
Cod sursa(job #200854)
/*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;
}