Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 158 si 159 | Cod sursa (job #776035) | Cod sursa (job #2263666) | Cod sursa (job #2325747) | Cod sursa (job #730337)
Cod sursa(job #730337)
#include <cstdio>
#include <string>
#include <iostream>
using namespace std;
FILE * iFile;
FILE * oFile;
int main()
{
iFile = fopen("text.in", "r");
oFile = fopen("text.out", "w");
long long int cuv, chars;
char c, cprev;
chars = 0;
cuv = 0;
fscanf(iFile, "%c", &c);
if((c >= 'a' && c <= 'z') || (c >= 'A' && c <='Z'))
chars++;
cprev = c;
while(!feof(iFile))
{
fscanf(iFile, "%c", &c);
if(c == '-' && ((cprev >= 'a' && cprev <= 'z') || (cprev >= 'A' && cprev <='Z')))
cuv++;
if(c == ' ' && ((cprev >= 'a' && cprev <= 'z') || (cprev >= 'A' && cprev <='Z')))
cuv++;
if(c == ',' && ((cprev >= 'a' && cprev <= 'z') || (cprev >= 'A' && cprev <='Z')))
cuv++;
if(c == '.' && ((cprev >= 'a' && cprev <= 'z') || (cprev >= 'A' && cprev <='Z')))
cuv++;
if(c == '?' && ((cprev >= 'a' && cprev <= 'z') || (cprev >= 'A' && cprev <='Z')))
cuv++;
if(c == '!' && ((cprev >= 'a' && cprev <= 'z') || (cprev >= 'A' && cprev <='Z')))
cuv++;
if((c >= 'a' && c <= 'z') || (c >= 'A' && c <='Z'))
chars++;
cprev = c;
}
fprintf(oFile, "%lld", chars/cuv);
fclose(iFile);
fclose(oFile);
return 0;
}