You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Билет 1.Создать класс «целое число».Элементы класса:поле задает значение целого числа (статус доступа private),конструктор для инициализации поляметод для вычисления остатка от деления целого числа на 5.Создать 1 объект данного класса, вывести значение остатка от деления числа на 5.
Билет 2.Создать класс «целое число».Элементы класса:поле задает значение целого числа (статус доступа private),конструктор для инициализации поля,метод для печати значения числа в шестнадцатеричной системе счисления.Создать 1 объект данного класса, вывести на печать значение числа в шестнадцатеричной системе счисления.
Билет 3.Создать класс «символ».Элементы класса:поле задает символ (статус доступа private),конструктор для инициализации поля,метод для печати кода символа.Создать 1 объект данного класса, вывести на печать код символ.
Билет 4.Создать класс «угол (заданный в градусах)».Элементы класса: поле задает значение угла в градусах (статус доступа private),конструктор для инициализации поля,метод для вычисления синуса угла.Создать 1 объект данного класса, вывести значение синуса заданного угла.
Билет 5.Создать класс «угол (заданный в градусах)».Элементы класса: поле задает значение угла в градусах (статус доступа private),конструктор для инициализации поля,метод для вычисления косинуса угла.Создать 1 объект данного класса, вывести значение косинуса заданного угла.
Билет 6.Создать класс «целое число».Элементы класса: поле задает значение целого числа (статус доступа private),конструктор для инициализации поля,метод, возвращающий 1, если число четное, и 0, в противном случае.Создать 1 объект данного класса, проверить четное ли число, вывести соответствующее сообщение.
Билет 7.Создать класс «круг».Элементы класса: поле задает значение радиуса круга (статус доступа private),конструктор для инициализации поля,метод для вычисления площадь круга.Создать 1 объект данного класса, напечатать значение площади круга.
Билет 8.Создать класс «окружность».Элементы класса: поле задает значение радиуса окружности (статус доступа private),конструктор для инициализации поля,метод для вычисления длины окружности.Создать 1 объект данного класса, напечатать значение длины окружности.
Билет 9.Создать класс «квадрат».Элементы класса:поле задает значение длины стороны квадрата (статус доступа private),конструктор для инициализации поля,метод для вычисления площади квадрата.Создать 1 объект данного класса, напечатать значение площади квадрата.
Билет 10.Создать класс «квадрат».Элементы класса: поле задает значение длины стороны квадрата (статус доступа private),конструктор для инициализации поля,метод для вычисления периметра квадрата.Создать 1 объект данного класса, напечатать значение периметра квадрата.
Билет 14.Создать класс базовый класс «прямоугольник».Создать производный класс «прямоугольный параллелепипед».
#include<iostream>usingnamespacestd;classrect
{
int a;
int b;
public:rect() {};
rect(int a, int b)
{
this->a = a;
this->b = b;
}
virtualintS()
{
return a * b;
}
virtualvoidprint()
{
cout << a << endl << b << endl << S() << endl;
}
};
classppd : publicrect
{
int c;
public:ppd(int a, int b, int c) : rect(a, b)
{
this->c = c;
}
intS()
{
returnrect::S()*c;
}
voidprint()
{
cout << c << endl;
rect::print();
}
};
intmain()
{
int a = 1, b = 2, c = 3;
rect *r = newrect(a,b);
r->print();
cout << endl;
rect *p = newppd(a,b,c);
p->print();
system("pause");
}
Билет 15.Создать класс базовый класс «круг».Создать производный класс «шар».
Билет 23.Разработать функцию для печати n первых значений натуральных чисел (1, 2, 3, …, n), параметры функции: n и имя потока.
#include<iostream>
#include<mutex>
#include<thread>
#include<vector>
#include<string>
std::mutex gMutex;
voidprintNumbers(int n, const std::string &name)
{
for (int i = 0; i < n; i++) {
std::lock_guard<std::mutex> lock(gMutex);
std::cout << name << ": " << i << std::endl;
}
}
intmain()
{
staticconstint N = 1000;
staticconst std::vector<std::string> threadNames = {
"thread1",
"thread2"
};
std::vector<std::thread *> threads(threadNames.size());
for (int i = 0; i < threadNames.size(); i++) {
threads[i] = newstd::thread(printNumbers, N, std::ref(threadNames[i]));
}
for (std::thread *thread : threads) {
thread->join();
}
return0;
}
Билет 25.Разработать функцию для печати n первых значений натуральных чисел (1, 2, 3, …, n), параметры функции: n и имя потока.(объект класса std::condition_variable)
#include<iostream>
#include<mutex>
#include<thread>
#include<vector>
#include<string>
#include<condition_variable>
std::condition_variable cv;
std::mutex gMutex;
bool isDone = false;
voidprintNumbers(int n, const std::string &name)
{
std::unique_lock<std::mutex> lock(gMutex);
for (int i = 0; i < n; i++) {
std::cout << name << ": " << i << std::endl;
}
isDone = true;
cv.notify_one();
}
intmain()
{
staticconstint N = 1000;
staticconst std::string NAME = "thread1";
std::thread thread(printNumbers, N, std::ref(NAME));
std::unique_lock<std::mutex> lock(gMutex);
while (!isDone) {
cv.wait(lock);
}
thread.join(); // Ждем, пока оно деструкторы довыполняет т.п.
std::cout << "Done!" << std::endl;
return0;
}