/* Nome: Mario Cognome: Montanari Concatenare le parole casuali in una stringa frase: - separate da un numero casuale di spazi compreso tra 1 e 3. */ #include #include #include #define MIN_SILLABE 2 #define MAX_SILLABE 3 #define MIN_SPAZI 1 #define MAX_SPAZI 3 using namespace std; void creaParola(const char strVowel[], const char strConsonant[], const char strSpazio[], int sillabe, int spazi); int main(void) { srand(time(NULL)); const char strVowel[] = "AEIOU"; const char strConsonant[] = "BCDFGLMNPRSTVZ"; const char strSpazio[] = " "; int sillabe = rand() % (MAX_SILLABE - MIN_SILLABE + 1) + MIN_SILLABE; int spazi = rand() % (MAX_SPAZI - MIN_SPAZI + 1) + MIN_SPAZI; cout << "Numero di spazi: " << spazi << endl; creaParola(strVowel, strConsonant, strSpazio, sillabe, spazi); return 0; } void creaParola(const char strVowel[], const char strConsonant[], const char strSpazio[], int sillabe, int spazi) { int size = (sillabe * 2 * (spazi + 1)) + spazi + 1; char strParola[size]; int index = 0; for (int i = 0; i < spazi + 1; i++) { for (int j = 0; j < sillabe; j++) { strParola[index++] = strConsonant[rand() % 14]; strParola[index++] = strVowel[rand() % 5]; } if (i < spazi) { sillabe = rand() % (MAX_SILLABE - MIN_SILLABE + 1) + MIN_SILLABE; strParola[index++] = strSpazio[0]; } } strParola[index] = '\0'; cout << "Frase generata: " << strParola << endl; }