• Предмет: Информатика
  • Автор: privetprogrammistam
  • Вопрос задан 3 года назад

C++ Дана строка, содержащая текст. Указать те слова, которые содержат хотя бы одну букву из звонких согласных.

Приложения:

Ответы

Ответ дал: Аноним
1

#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";

}


privetprogrammistam: какая то ошибка( https://prnt.sc/t4r09j
privetprogrammistam: что с этим делать?
privetprogrammistam: можешь помочь пж?
Аноним: у меня все норм работает, ну коли у тебя не пашет strchr просто пихни все эти буквы вместо массива в set чаров и проверяй уже set_name.find(tolower(j)) != set_name.end()
privetprogrammistam: сори, не понял, как это сделать?
Аноним: держи: https://pastebin.com/0QRTq168
privetprogrammistam: офигенно, спасибо)
Вас заинтересует