Cod sursa(job #356292)

Utilizator daniel.dumitranDaniel Dumitran daniel.dumitran Data 14 octombrie 2009 09:38:05
Problema Text Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <stdio.h>

#define FISIN     "text.in"
#define FISOUT    "text.out"

FILE *fin, *fout;
char buffer[2 * 1024 * 1024];

int main() {
  fin = fopen(FISIN, "rt");
  fout = fopen(FISOUT, "wt");


  int nr_lit = 0, nr_cuv = 0;
  bool is_letter = false;
  
  while (fgets(buffer, sizeof(buffer), fin)) {
    for (int i = 0; buffer[i]; ++i) {
      char c = buffer[i];
      if ((c >= 'a' && c <= 'z') ||
          (c >= 'A' && c <= 'Z')) {
        ++nr_lit;
        is_letter = true;
      } else {
        if (is_letter) nr_cuv++;
        is_letter = false;
      }
    }
    if (is_letter) nr_cuv++;
  }

  fprintf(fout, "%d\n", nr_lit / nr_cuv);
  //  fprintf(fout, "%d %d\n", nr_lit, nr_cuv);

  fclose(fout);
  fclose(fin);
  return 0;
}