fork download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. const int MAX_LENGTH_WORD = 20;
  6. const int MAX_LENGTH_VOWELS =10;
  7. const int MAX_LENGTH = 100;
  8.  
  9. int vowelsCount(const char *word) {
  10. int vowelsNo = 0;
  11. char allVowels[MAX_LENGTH_VOWELS + 1] = "aeiouAEIOU";
  12. for (int i = 0; word[i]; ++i) {
  13. for (int j = 0; j <= MAX_LENGTH_VOWELS; ++j) {
  14. if (word[i] == allVowels[j]) {
  15. ++vowelsNo;
  16. }
  17. }
  18. }
  19. return vowelsNo;
  20. }
  21. void sortWords(char words[MAX_LENGTH][MAX_LENGTH_WORD + 1], int noWordsPar) {
  22. for (int i = 0; i < noWordsPar - 1; ++i) {
  23. for (int j = i + 1; j < noWordsPar; ++j) {
  24. if (vowelsCount(words[i]) > vowelsCount(words[j]) ||
  25. (vowelsCount(words[i]) == vowelsCount(words[j]) &&
  26. strcmp(words[i], words[j]) > 0)) {
  27. char temp[MAX_LENGTH_WORD + 1];
  28. strcpy(temp, words[i]);
  29. strcpy(words[i], words[j]);
  30. strcpy(words[j], temp);
  31. }
  32. }
  33. }
  34. }
  35. int main() {
  36. char words[MAX_LENGTH][MAX_LENGTH_WORD + 1];
  37. int noWords = 0;
  38. while (cin >> words[noWords]) {
  39. ++noWords;
  40. }
  41. sortWords(words, noWords);
  42. for (int i = 0; i < noWords; ++i) {
  43. cout << words[i] << "\n";
  44. }
  45. return 0;
  46. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Standard output is empty