Другие языки программирования и технологии

Помогите написать код на с++

Создать функцию которая выводит гласные буквы введенного слова. Например, hello должен вывести е о
// Visual C++ 2010
#include <iostream>
#include <string>
using namespace std;
bool vowel(const wchar_t);
int main() {
    wcin.imbue(locale(".866"));
    wcout.imbue(locale(".866"));
    wcout << L" Введите текст: ";
    wstring text;
    getline(wcin, text);
    for (size_t n = 0; n < text.size(); ++n) if (vowel(text[n])) wcout << L' ' << text[n];
    cin.get();cin.get();
    return 0;
}
bool vowel(const wchar_t _wch) {
    wchar_t vowels[] = L"AaEeIiOoUuYyАаЕеЁёИиОоУуЫыЭэЮюЯя";
    size_t size = sizeof(vowels) / sizeof(vowels[0]), n = 0;
    bool result = false;
    do {
        if (_wch == vowels[n]) {
            result = true;
            break;
        }
    } while (n++ < size);
    return result;
}
FR
Fedyka Reaboi
66 117
Лучший ответ
Внесу свой вариант =) с STL. С++ так C++

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

void outIfVowel(char c) {
const string s = "aeiouyаеёиоуыэюя";
size_t pos = s.find(tolower(c));
if (pos!=string::npos) cout << s[pos];
}

int main (int argc, char *argv[]) {
string s;
setlocale(LC_ALL, "RU_ru"); //Игры с setlocale зависят от компилятора
cout << "Enter string:"; cin >> s;
for_each(s.begin(), s.end(), outIfVowel);
//здесь можно добавить паузу, если окно автом. закрывается и нужно
return 0;
}

P.S: В первом A[ i ] >== опечатка > не нужен.
за синтаксис не отвечаю
#include < iostream>
#include < string>
using namespace std;
int main()
{
string A;
cin >> A;
for (int i = 0; i < A.length; ++i)
if (A[ i] == 'a' || A[ i]> == 'e' || A[i ] == 'i' || A[i ] == 'o' || A[i ] == 'u' ||A[i ] == 'y' || A[i ] == 'A' || A[i ] == 'E' || A[i ] == 'I' || A[i ] == 'O' || A[i ] == 'U' || A[i ] == 'Y')
cout << A[i ] << " ";
}
если не секрет нафига нужно это ?
Мирас Ержигит
Мирас Ержигит
1 135