Scrieți un program care citește de la tastatură un şir de cuvinte separate prin spații și realizează următoarele:
- afișează numărul de cuvinte din șir care conțin mai mult de 4 caractere
- afișează numărul de cuvinte din șir care conțin vocale
- afișează cuvintele din șir ordonate alfabetic
Răspunsuri la întrebare
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[10000];
cin.getline(str, 1000);
char *p = strtok(str, " ");
int cnt_len = 0, cnt_vocale = 0;
char cuvinte[100][100], vocale[10] = "aeiou";
int nr_cuv = 0;
while (p) {
strcpy(cuvinte[nr_cuv], p);
if (strlen(p) > 4)
cnt_len++;
int contine_vocale = 0;
for (int j = 0; j < 5; j++)
if (strchr(cuvinte[nr_cuv], vocale[j]) != NULL)
contine_vocale = 1;
if (contine_vocale)
cnt_vocale++;
p = strtok(NULL, " ");
nr_cuv++;
}
cout << "Cuvinte cu mai mult de 4 caractere: " << cnt_len << "\n";
cout << "Cuvinte care contin vocale: " << cnt_vocale << "\n";
for (int i = 0; i < nr_cuv - 1; i++) {
for (int j = i + 1; j < nr_cuv; j++) {
if (strcmp(cuvinte[i], cuvinte[j]) > 0)
swap(cuvinte[i], cuvinte[j]);
}
}
cout << "Cuvintele ordonate alfabetic:\n";
for (int i = 0; i < nr_cuv; i++)
cout << cuvinte[i] << "\n";
return 0;
}