Pagini recente » Cod sursa (job #2191071) | Cod sursa (job #2712969) | Cod sursa (job #2901495) | Cod sursa (job #1630707) | Cod sursa (job #2775866)
#include <iostream>
#include <chrono>
#include <fstream>
#include <string>
#define DEBUG 0
std::ifstream cin("../text.in");
std::ofstream cout("../text.out");
bool is_letter(char t) {
return (t >= 'a' && t <= 'z') || (t >= 'A' && t <= 'Z');
}
void solve() {
int words = 0;
int letters = 0;
bool new_word = true;
std::string input_string;
while (cin.peek() != EOF) {
std::getline(cin, input_string);
for (auto t: input_string) {
int letter_count = is_letter(t);
letters += letter_count;
if (!letter_count) { // daca nu e litera
new_word = true; // ne pregatim sa incepem cuvant nou
} else if (new_word) { // data e cuvant nou
++words; // crestem cuvintele
new_word = false; // si tinem minte
}
}
}
if (DEBUG) {
cout << letters << " " << words << " ";
}
cout << letters / words;
}
int main() {
auto start = std::chrono::high_resolution_clock::now();
solve();
auto stop = std::chrono::high_resolution_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(stop - start);
std::cout << std::endl << "[time]:" << duration.count() << std::endl;
return 0;
}