Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по "Системному программированию"

Автор:   •  Ноябрь 3, 2022  •  Лабораторная работа  •  748 Слов (3 Страниц)  •  167 Просмотры

Страница 1 из 3

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

СХІДНОУКРАЇНСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ

Імені ВОЛОДИМИРА ДАЛЯ

Кафедра Комп’ютерних наук та інженерії

ЗВІТ

Лабораторная работа № 1

З ДИСЦИПЛІНИ «СИСТЕМНЕ ПРОГРАМУВАННЯ»

  Виконав:

  Мєрлінов А.А.

   КІ-20д

   Перевірила:

Щербакова М.Є.

Сєвєродонецьк

2022

Лабораторная работа № 1. Использование лямбда-выражений

(«Системное программирование», 2 курс, 2 семестр)

  1. Цель работы

Получение навыков написания программ с использованием алгоритмов стандартной библиотеки шаблонов и лямбда-выражений в шаблонах функций.

Вариант: 3

Задание: Объявить очередь deque<T> из 50 элементов. Задать значения элементам deque случайным образом с помощью функции-алгоритма generate, 3-м параметром передать лямбда-выражение, которое возвращает значение элемента. Вывести элементы deque на экран, для этого использовать функцию for_each с лямбда-выражением, которое выводит на экран очередной элемент. Подсчитать количество положительных элементов deque, для его вычисления использовать функцию std::count_if с лямбда-выражением. Задать в качестве значений элементов deque простые числа, использовать для этого std::transform с лямбда-выражением, вычисляющим значение очередного элемента. Вывести на экран элементы deque. Для присваивания значений элементам, вывода на экран, подсчёта элементов должны быть написаны функции-шаблоны для обработки элементов deque любого числового типа.

  1. Для данного задания написал следующий код:

#include <iostream>

#include <deque>

#include <functional>

#include <algorithm>

using namespace std;

void output(int i) { // функция для вывода чисел

    cout << ' ' << i;

}

int odd_by_two() { // функция для заполнения деки рандомными числами

    int s = rand() % 100 - 20;

    return s;

}

bool isPrime(int n) // функция которая проверяет, простое ли число

{

    if (n >= 2) {

        for (int i = 2; i <= sqrt(n); i++) {

            if (n % i == 0) {

                return false;

            }

        }

        return true;

    }

    return false;

}

int main() {

    setlocale(LC_CTYPE, "rus");

    deque<int> T; // создаем дек

    int init = 0;

    generate_n(back_inserter(T), 50, [init]() mutable { // заполняем в дек 50 рандомных чисел через функцию-алгоритм generate_n

        return odd_by_two();

    });

    cout << "Числа: ";

...

Скачать:   txt (5.6 Kb)   pdf (132.4 Kb)   docx (35.7 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club