Консультация № 170159
05.07.2009, 11:50
0.00 руб.
0 1 1
уважаемые эксперты, прошу помочь со следующей программой. вводим строку, содеражщую слова. Напечатать слова имеющие одинаковое количество гласных и согласных букв.

Обсуждение

Неизвестный
05.07.2009, 13:03
общий
это ответ
Здравствуйте, VooDooMAN.

Вот код:
Код:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;

bool IsVowel(char ch)
{
static const char* vowels = "aeiouy";
for (const char *p = vowels; *p; ++p) {
if (*p == ch) return true;
}

return false;
}

bool IsConsonant(char ch)
{
static const char* consonants = "bcdfghjklmnpqrstvwxz";
for (const char *p = consonants; *p; ++p) {
if (*p == ch) return true;
}

return false;
}

int main()
{
string line;
getline(cin, line);

stringstream s(line);
string word;

while ((s >> word)) {
int v = 0, c = 0;
for (unsigned int i=0; i<word.length(); ++i) {
if (IsVowel(word[i])) v++;
else if (IsConsonant(word[i])) c++;
}

if (v == c) {
cout << word << endl;
}
}
}
5
Форма ответа