Главная страница
Навигация по странице:

  • Отчет по лабораторной работе №1 По курсу « Дискретная математика » На тему: « Использование языковых средств программирования

  • Задание на выполнение ЛР

  • Программа На с ++

  • Лабораторная работа по дискретной математике. Использование языковых средств программирования для задач теории множеств


    Скачать 20.86 Kb.
    НазваниеИспользование языковых средств программирования для задач теории множеств
    АнкорЛабораторная работа по дискретной математике
    Дата05.04.2022
    Размер20.86 Kb.
    Формат файлаdocx
    Имя файла1.docx
    ТипПрограмма
    #443598

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение
    высшего образования

    Иркутский Национальный Исследовательский Технический Университет

    Институт информационных технологий и анализа данных

    Отчет по лабораторной работе №1

    По курсу « Дискретная математика »

    На тему:

    «Использование языковых средств программирования

    для задач теории множеств»

    Выполнил: Чистилин М.А.

    АСУб-20-1

    Проверила: Носырева Л.Л.

    Цели работы: Получение навыков работы с множествами
    Задание на выполнение ЛР

    Дана непустая последовательность слов из строчных русских букв; между соседними словами – запятая, за последним словом – точка. Напечатать в алфавитном порядке множества, сформированные согласно варианту.
    Вариант 3.

    a) Все гласные буквы, которые входят в каждое слово;

    b) все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят ни в одно четное слово.
    Программа


    На с++
    #include

    #include

    #include

    #include

    #include

    #include
    using namespace std;
    void PrintSet(set& CS)

    {

    for (set::iterator it = CS.begin(); it != CS.end(); it++)

    cout << *it;

    cout << endl;

    }
    int main()

    {

    setlocale(LC_ALL, "");

    string S;

    SetConsoleCP(1251);

    getline(cin, S);

    SetConsoleCP(866);


    set Gl{ 'а','я','е','ё','у','о','и','ы','ю','э' };

    set Ell;
    for (size_t i = 0; i < S.size() - 1; i++)

    {

    char c = S[i];
    if (c == ',' || c == '.')

    continue;

    for (size_t j = i + 1; j < S.size(); j++)

    if (S[j] == c)

    {

    Ell.insert(c);

    break;

    }

    }

    cout << "Задание под а: ";

    PrintSet(Ell);

    set Zv{ 'б', 'в', 'г', 'д', 'ж', 'з', 'й', 'л', 'м', 'н', 'р' };
    vector Word;

    while (!S.empty())

    {

    size_t p = S.find_first_of(",.");

    Word.push_back(string(S, 0, p));

    S.erase(0, p + 1);

    }

    for (set ::iterator too = Zv.begin(); too != Zv.end();)

    {

    bool F1 = false, F2 = true;

    for (size_t i = 0; i < Word.size(); i++)

    {

    switch (i % 2)

    {

    case 0:

    if (Word[i].find(*too) == string::npos) F1 = true; break;

    case 1:

    if (Word[i].find(*too) == string::npos) F2 = false; break;

    }

    if (!F1) break;

    }

    set ::iterator temp = too;

    temp++;

    if (!(F1 && F2)) Zv.erase(too);

    too = temp;

    }

    cout << "Задание под б: ";
    PrintSet(Zv);
    system("pause");

    return 0;

    }



    Исходные данные

    Результаты

    Примечания

    1

    витя,ира,гид.

    и

    Вывод задания под а

    2

    витя,ира,гид.

    р

    Вывод задания под б


    написать администратору сайта