#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
#include <cctype>
const std::string article[] = { "the" , "a", "one", "some", "any" };
const std::string noun[] = { "boy", "girl", "dog", "town", "car" };
const std::string verb[] = { "drove", "jumped", "ran", "walked", "skipped" };
const std::string preposition[] = { "to", "from", "over", "under", "on" };
int main()
{
std::srand(static_cast<unsigned int>( std::time(NULL) ));
std::string sentence;
// initialize array of strings
for(int i = 1; i <= 20; i++ )
{
//choose random parts of sentence//
sentence = article[ rand() % 5 ] + " "
+ noun[ rand() % 5 ] + " "
+ verb[ rand() % 5 ] + " "
+ preposition[ rand() % 5 ] + " "
+ article[ rand () %5 ] + " "
+ noun[ rand() % 5 ];
//capitalize first letter//
sentence[0] = std::toupper(sentence[0]);
//add period at end of sentence//
sentence += '.';
}
std::cout << sentence << '\n';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8Y2N0eXBlPgpjb25zdCBzdGQ6OnN0cmluZyBhcnRpY2xlW10gPSB7ICJ0aGUiICwgImEiLCAib25lIiwgInNvbWUiLCAiYW55IiB9Owpjb25zdCBzdGQ6OnN0cmluZyBub3VuW10gPSB7ICJib3kiLCAiZ2lybCIsICJkb2ciLCAidG93biIsICJjYXIiIH07CmNvbnN0IHN0ZDo6c3RyaW5nIHZlcmJbXSA9IHsgImRyb3ZlIiwgImp1bXBlZCIsICJyYW4iLCAid2Fsa2VkIiwgInNraXBwZWQiIH07CmNvbnN0IHN0ZDo6c3RyaW5nIHByZXBvc2l0aW9uW10gPSB7ICJ0byIsICJmcm9tIiwgIm92ZXIiLCAidW5kZXIiLCAib24iIH07CmludCBtYWluKCkKewogICAgc3RkOjpzcmFuZChzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KCBzdGQ6OnRpbWUoTlVMTCkgKSk7CiAgICBzdGQ6OnN0cmluZyBzZW50ZW5jZTsKICAgIC8vIGluaXRpYWxpemUgYXJyYXkgb2Ygc3RyaW5ncwogICAgZm9yKGludCBpID0gMTsgaSA8PSAyMDsgaSsrICkKICAgIHsKICAgICAgICAvL2Nob29zZSByYW5kb20gcGFydHMgb2Ygc2VudGVuY2UvLwogICAgICAgIHNlbnRlbmNlID0gYXJ0aWNsZVsgcmFuZCgpICUgNSBdICsgIiAiCiAgICAgICAgICAgICAgICAgKyBub3VuWyByYW5kKCkgJSA1IF0gKyAiICIKICAgICAgICAgICAgICAgICArIHZlcmJbIHJhbmQoKSAlIDUgXSArICIgIgogICAgICAgICAgICAgICAgICsgcHJlcG9zaXRpb25bIHJhbmQoKSAlIDUgXSArICIgIgogICAgICAgICAgICAgICAgICsgYXJ0aWNsZVsgcmFuZCAoKSAlNSBdICsgIiAiCiAgICAgICAgICAgICAgICAgKyBub3VuWyByYW5kKCkgJSA1IF07CiAgICAgICAgIC8vY2FwaXRhbGl6ZSBmaXJzdCBsZXR0ZXIvLwogICAgICAgICBzZW50ZW5jZVswXSA9IHN0ZDo6dG91cHBlcihzZW50ZW5jZVswXSk7CiAgICAgICAgIC8vYWRkIHBlcmlvZCBhdCBlbmQgb2Ygc2VudGVuY2UvLwogICAgICAgICBzZW50ZW5jZSArPSAnLic7CiAgICB9CiAgICBzdGQ6OmNvdXQgPDwgc2VudGVuY2UgPDwgJ1xuJzsKfQo=