Cod sursa(job #1503396)

Utilizator cmirceaMircea C. cmircea Data 16 octombrie 2015 00:35:54
Problema Text Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <algorithm>
#include <cmath>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <queue>
#include <string>
#include <sstream>
#include <stack>
#include <utility>
#include <vector>

using namespace std;

int main(int argc, char* argv[])
{
  ifstream fin("text.in");
  string text = "";
  if (fin.is_open())
  {
    string line;
    while (getline(fin, line))
    {
      text += line;
      text += " ";
    }

    fin.close();
  }

  int crtLen = 0;
  int total = 0;
  int nWords = 0;
  int ii = 0;

  // kill initial spaces
  while ((ii < text.length()) && !((text[ii] >= 'A' && text[ii] <= 'Z') ||
	     (text[ii] >= 'a' && text[ii] <= 'z')))
  {
    ++ii;
  }

  while (ii < text.length())
  {
    while (ii < text.length() && ((text[ii] >= 'A' && text[ii] <= 'Z') ||
				  (text[ii] >= 'a' && text[ii] <= 'z')))
    {
      ++ii; 
      ++crtLen;
      ++total;
    }
    ++nWords;
    while ((ii < text.length()) && !((text[ii] >= 'A' && text[ii] <= 'Z') ||
	     (text[ii] >= 'a' && text[ii] <= 'z')))
    {
      ++ii;
    }
  }

  ofstream fout;
  fout.open("text.out");
  if (nWords == 0)
  {
    ++nWords;
  }

  int result = total / nWords;
  fout << result<< endl;
  fout.close();
  return 0;
}