Подсчитать гласные в фамилии. Там строчка где сравнивается символ и гласные
#include <iostream>
#include <cstdlib>
using namespace std;
int Glasnie(char Username, int a);
int main()
{
int a=0;// b, c, d, f1, f2, g1, g2, h1, h2;
char Username;
cin >> Username;
Glasnie(Username, a);
system("pause");
return 0;
}
int Glasnie(char Username, int a)
{
const char *glasnie = "AaEeIiOoUuYy";
for (char sym = Username; sym; sym++)
{
for (int i = 0; i < 12; i++)
{
if (sym == glasnie[i]) a++;
}
}
return a;
}
Ответы (1 шт):
Автор решения: AR Hovsepyan
→ Ссылка
#include <iostream>
#include <string>
int main() {
std::string vowels("AaEeIiOoUuYy"), Username;
std::cin >> Username;
unsigned a{},
//находим позицию первого символа, входящего в vowels
pos = Username.find_first_of(vowels);
//пока эта позиция меньше чем длина строки(находимся в пределах строки
while (pos != std::string::npos) {
++a;
//находим позицию первого символа, входящего в vowels
//начиная от следующего символа предыдущей позиции(pos + 1)
pos = Username.find_first_of(vowels, pos + 1);
}
std::cout << a;
return 0;
}
Проще, чем возиться с циклами и С_строками По такой же логике можете работать и с С_строками, а также пользоваться функцией strcspn
P.S. Не изменяйте код после ответов, чтобы ответы не оказывались неуместными.