Added older advents

This commit is contained in:
Jos van Goor 2022-12-01 13:46:47 +01:00
parent 8db2505049
commit 9cf858b860
78 changed files with 13807 additions and 0 deletions

View file

@ -0,0 +1,59 @@
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
bool has_forbidden(string const &str)
{
if (str.find("ab") != string::npos) return true;
if (str.find("cd") != string::npos) return true;
if (str.find("pq") != string::npos) return true;
if (str.find("xy") != string::npos) return true;
return false;
}
bool has_repeating(string const &str)
{
for (size_t idx = 0; idx != str.size() - 1; ++idx)
{
if (str[idx] == str[idx + 1])
return true;
}
return false;
}
bool vowels_ok(string const &str)
{
size_t vowels = 0;
vowels += count(str.begin(), str.end(), 'a');
vowels += count(str.begin(), str.end(), 'e');
vowels += count(str.begin(), str.end(), 'i');
vowels += count(str.begin(), str.end(), 'o');
vowels += count(str.begin(), str.end(), 'u');
return vowels >= 3;
}
int main()
{
string buffer;
size_t count = 0;
while(getline(cin, buffer))
{
cout << "'" << buffer << "'\n";
if (vowels_ok(buffer)
&& has_repeating(buffer)
&& !has_forbidden(buffer))
{
++count;
}
}
cout << "Nice strings: " << count << "\n";
}