include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <iterator>
using namespace std;
int main()
{
int gl_i = 0;
char ppp = 0;
char ch[10];
char chb[10];
cin.getline(ch, 10);
for (int i = 0; i < 10; i++)
{
if ((((ch[i] > 65) && (ch[i] < 90)) && ((ch[i]!=69) && (ch[i] != 73) && (ch[i] != 79) && (ch[i] != 85) && (ch[i] != 89))) || (((ch[i] > 97) && (ch[i] < 122)) && ((ch[i] != 101) && (ch[i] != 105) && (ch[i] != 111) && (ch[i] != 117) && (ch[i] != 121))))
{
for (int i = 0; i < 10; i++)
{
if (((ch[i] > 64)&&(ch[i] < 91))||((ch[i] > 98) && (ch[i] < 123))) {
ch[i] = chb[gl_i];
gl_i++;
}
else {
// chb[i] = ppp;
break;
gl_i++;
}
}
}
}
for (int i = 0; i < 10; i++) {
cout << chb[i];
}
return 0;
}
Код сверху должен находить слова которое начинается с согласной буквы и записывать их в массив,но при попытке вызвать выводит только первый результат. if 'ы проводят проверку на то на какой символ сейчас смотрит цикл,первый находить все гласные буквы,второй останавливает первый если будет любой другой символ кроме букв
#include <iostream>
#include <vector>
using namespace std;
int main() {
string s;
getline(cin, s);
s += " ";
// Гласные буквы
string a = "aeoui";
vector <string> words;
string word = "";
for(int i=0; i < (int)s.size(); i++) {
// Если (это конец слова И размер слова не равен 0)
if(s[i] == ' ' && word.size()) {
// Если первая буква слова не гласная
bool isOK = ( (int)a.find(word[0]) == -1 );
if(isOK)
{ words.push_back(word); }
word = "";
}
if(isalpha(s[i])) {
word += s[i];
}
}
// Вывести все слова
for(auto el : words)
cout << el << " ";
return 0;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей