
Никакая система не совершенна, а человек так тем более. Все мы испытываем такой человеческий фактор, как совершение ошибок. Мы делаем это всегда, даже в подсчётах каких-нибудь чисел. Так может ошибаться и компьютер. Например, мы зададим компьютеру таков алгоритм, что на каждую ячейку коробки положим ровно 1 конфету. Мы напишем алгоритм для устройства ("умной руки"), и где-нибудь в алгоритме случайно используем итератор ("счётчик конфет или ячеек"), который может повлиять на работу. Например, у нас есть N ячеек. Мы (или компьютер - такое тоже случается) случайно присвоили другое значение, тогда алгоритм будет работать уже с изменённой переменной: может класть конфеты в пустое пространство, ведь ячейки кончились, а может класть по 2 конфеты в 1 ячейку. Другой пример - математические вычисления. Например, мы зададим компьютеру посчитать простые числа от 1 до N. С алгоритмов мы реализуем проверку на простоту, но забудем про какую-нибудь важную операцию (например, в сравнении: поставим не "ЧИСЛО ДОЛЖНО БЫТЬ МЕНЬШЕ ИЛИ РАВНО", а "ЧИСЛО ДОЛЖНО БЫТЬ МЕНЬШЕ МЕНЬШЕ"), из-за чего программа может выводить абсолютно не те числа. Поэтому в таких случаях нужна проверка и анализ результата выполнения работы.
Объяснение:
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
signed main() {
char ok[10]{ 'b', 'v', 'g', 'd', 'z', 'l', 'm', 'n', 'r', 'w'};
string s;
getline(cin,s);
vector<string> words,ans;
string cur;
for(int i = 0; i < s.length(); i++){
if(s[i] != ' ') cur += s[i];
else{words.push_back(cur); cur.clear();}
}
for(auto i: words){
bool norm = false;
for(auto j: i)
if(strchr(ok,tolower(j))) norm = true;
if(norm) ans.push_back(i);
}
for(auto i: ans) cout << i << "\n";
}