Cod sursa(job #923885)

Utilizator catalinutzbCraciun Catalin catalinutzb Data 23 martie 2013 22:21:14
Problema Text Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.39 kb
#include <fstream>
#include <iostream>
#include <cstring>
using namespace std;
ifstream f("text.in");
ofstream g("text.out");

int main(){

    char T[500001];
    long lit=0;
    long cuv=1;

    f.getline(T,500000);
    f.close();

    for (long i=0;i<=strlen(T);i++){
        ///********************************************
        if ((T[i]>='a')&&(T[i]<='z'))
            lit++;
        else if ((T[i]>='A')&&(T[i]<='Z'))          /// Numar literele
            lit++;
        else if ((T[i]>='1')&&(T[i]<='9'))
            lit++;
        ///********************************************
        if (T[i]=='-'){
            if (((T[i-1]>='a')&&(T[i-1]<='z'))&&((T[i+1]>='a')&&(T[i+1]<='z')))
                cuv++;
            else if (((T[i-1]>='A')&&(T[i-1]<='Z'))&&((T[i+1]>='a')&&(T[i+1]<='z')))
                cuv++;
            else if (((T[i-1]>='a')&&(T[i-1]<='z'))&&((T[i+1]>='A')&&(T[i+1]<='Z')))
                cuv++;
            else if (((T[i-1]>='A')&&(T[i-1]<='Z'))&&((T[i+1]>='A')&&(T[i+1]<='Z')))
                cuv++;
            else if ((T[i-1]>='1')&&(T[i-1]<='9'))
                cuv++;
        }
        if (T[i]==' '){
            ///-----------------------------------------------------------
            if (((T[i-1]>='a')&&(T[i-1]<='z'))&&((T[i+1]>='a')&&(T[i+1]<='z')))
                cuv++;
            else if (((T[i-1]>='A')&&(T[i-1]<='Z'))&&((T[i+1]>='a')&&(T[i+1]<='z')))
                cuv++;
            else if (((T[i-1]>='a')&&(T[i-1]<='z'))&&((T[i+1]>='A')&&(T[i+1]<='Z')))
                cuv++;
            else if (((T[i-1]>='A')&&(T[i-1]<='Z'))&&((T[i+1]>='A')&&(T[i+1]<='Z')))
                cuv++;
            ///-----------------------------------------------------------
            else if ((T[i-1]=='.')&&((T[i+1]>='a')&&(T[i+1]<='z')))
                cuv++;
            else if ((T[i-1]=='.')&&((T[i+1]>='A')&&(T[i+1]<='Z')))
                cuv++;
            ///-----------------------------------------------------------
            else if ((T[i-1]==',')&&((T[i+1]>='A')&&(T[i+1]<='Z')))
                cuv++;
            else if ((T[i-1]==',')&&((T[i+1]>='a')&&(T[i+1]<='z')))
                cuv++;
            ///-----------------------------------------------------------
            else if ((T[i-1]>='1')&&(T[i-1]<='9'))
                cuv++;
        }
    }

    g<<lit/cuv;
    g.close();

    return 0;
}