Pagini recente » Cod sursa (job #2964710) | Cod sursa (job #2710382) | Cod sursa (job #2802156) | Cod sursa (job #1422442) | Cod sursa (job #123455)
Cod sursa(job #123455)
/*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.
Restrictii si precizari
* Dimensiunea fisierului de intrare este de cel mult 1MB
* Fisierul de intrare va contine doar litere mari si mici, cifre, spatii si simboluri (adica nu va
contine caractere speciale)
*/
#include <fstream.h>
#include <string.h>
char delim[]=" ,.?!;:'\"/?\\|[]{}`~@#$%^&*()-_+=";
ifstream in("text.in");
ofstream out("text.out");
int main()
{
char linie[1025], *p;
int s=0, nc=0;
in.getline(linie,1025);
p=strtok(linie,delim);
while(p!=NULL)
{
nc++;
s+=strlen(p);
p=strtok(NULL,delim);
}
out<<(int)s/nc;
return 0;
}