Cod sursa(job #682901)

Utilizator badboyvladVlad Isoc badboyvlad Data 19 februarie 2012 18:06:15
Problema Text Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.26 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
FILE *f;
ofstream g;
char a[100];
int i,s,n,c,e,p;
int main()
{
    p=0; //numarul de cuvinte
    f=fopen("text.in","r");   //deschiderea fisierului de intrare
    g.open("text.out");  //deschiderea fisierului de iesire
    fgets(a,100,f);  //citirea caracterelor
    n=strlen(a);   //functie 'strlen(variabila)' n = numarul "i" din expresia "a[i]" adica lungimea textului.(se iau in considerare toate caracterele si spatiu)
    for(i=1;i<=n;i++)  //structura de numarare
    {
        if(isalpha(a[i]))  //functie 'isalph(variabila)' -- verifica daca este litera
        {
            c=1;   //c=1 inseamna inceput de cuvant
            s++;  //suma literelor din sir creste
        }
        else
        {
         if(c==1)e=1; //daca este inceputa propozitia si caracterul nu este litera => e=1 adica sfarsit de propozitie
        }
        if((c==1)and(e==1)) //daca propozitia are un inceput si un sfarsit se mai adauga un cuvant la numaratoare
        {
            p++;  //numarul de cuvinte creste
            c=0;  //se reseteaza inceputul si sfarsitul de cuvant
            e=0;
        }
    }
    g<<s/p;  //se scrie in fisierul de iesire rezultatul
    return 0;
}