Boykoyelena
?>

Логическими выражениями являются: 1)не(z=кот) 2)A∨B 3)все ответы верные 4)Ты пришёл домой?

Информатика

Ответы

egoryandiana3727283
#include <iostream>
#include <vector>
#include <boost/algorithm/string.hpp>

using namespace std;

class FindVowelWords{
    vector<string> input;  // тут будут лежать слова для обработки
    vector<string> output; // тут будут лежать обработанные слова
    vector<char> vowels;  // а тут глассные буквы

public:
    // ...
    FindVowelWords(const string& inputStr){
        vowels = {'a', 'A', 'o', 'O', 'i', 'I', 'u', 'U', 'e', 'E'}; // определяем вектор с гласнымы
        boost::split(input, inputStr, [](char c){return c == ' ';}); // разбиваем воходную строку на слова
    }

    // поиск слов, которые начинаются с гласных
    void handle(){
        for(auto const& word : input){ // проходимся по всем словам
            for(auto const& vowel : vowels){ // проходимся по всем гласным
                if(word.at(0) == vowel){
                    output.push_back(word); // если первая буква слова - гласная, то заносим слово в результирующий вектор
                }
            }
        }
    }

    // вывод результата
    void printOutput() const{
        for(auto const& item : output){
            cout << item << endl;
        }
    }
    // вывод входных данных
    void printInput(){
        for(auto const& item : input){
            cout << item << ' ';
        }
    }

    int getOutputSize(){
        return output.size();
    }

};

int main(){
    string test = "Don't be arfraid, just try to understand this code and you'll be a good programmer!";
    FindVowelWords findIt(test);
    cout << "You have entered this string: " << endl;
    findIt.printInput();
    cout << endl << endl;

    findIt.handle();
    cout << "Words that begin with a vowel: " << endl;
    findIt.printOutput();
    cout << endl;
    cout << "number of words have been found: " << findIt.getOutputSize() << endl;
    return 0;
}

Задана строка. напечатать слова строки, которые начинаются с гласной буквы и указать их количество.
dmitrijku
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

function Sed(n:integer):integer;
// Возвращает сумму четных цифр в числе
begin
  (n,Result):=(Abs(n),0);
  while n>0 do begin
    var d:=n mod 10;
    if d.IsEven then Result+=d;
    n:=n div 10
    end
end;

begin
  var (a,b):=ReadInteger2('Введите два целых числа через пробел:');
  var (s1,s2):=(Sed(a),Sed(b));
  if s1>s2 then Writeln(a) else Writeln(b)
end.

Пример
Введите два целых числа через пробел: 6213 5841
5841

begin
  var r:=Abs(ReadReal('Введите действительное число:'));
  if Trunc(r).IsEven then Writeln('YES') else Writeln('NO')
end.

Примеры
Введите действительное число: -435.234
NO

Введите действительное число: 20608.6536
YES

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Логическими выражениями являются: 1)не(z=кот) 2)A∨B 3)все ответы верные 4)Ты пришёл домой?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

atamanov5
Пронкина_TEST1682
kitoova
galustyanvitaly4842
Бражинскене_Алексей
Смирнов_Андрей691
zsv073625
Ulianev77
marat7
Иванов
Salnikov1730
Karpova
михаил
Ivanovich-A.V
Кольцова