137 lines
4.2 KiB
C++
137 lines
4.2 KiB
C++
#include <iostream>
|
||
#include <functional>
|
||
#include <vector>
|
||
#include "exercise_1.hpp"
|
||
#include "exercise_2.hpp"
|
||
#include "exercise_3.hpp"
|
||
#include "exercise_4.hpp"
|
||
|
||
using namespace std;
|
||
|
||
void ex_1();
|
||
void ex_2();
|
||
void ex_3();
|
||
void ex_4();
|
||
|
||
int main()
|
||
{
|
||
// ex_1();
|
||
// ex_2();
|
||
ex_3();
|
||
ex_4();
|
||
|
||
return 0;
|
||
}
|
||
|
||
void ex_1()
|
||
{
|
||
Parallelogram Pgrm(15.2, 9.5);
|
||
Circle Crcl(14.5);
|
||
Rectangle Rctgl(14.0, 7.1);
|
||
Square Sqre(23.3);
|
||
Rhombus Rmbs(17.4, 13.2);
|
||
|
||
vector<reference_wrapper<Figure>> f;
|
||
|
||
f.push_back(Pgrm);
|
||
f.push_back(Crcl);
|
||
f.push_back(Rctgl);
|
||
f.push_back(Sqre);
|
||
f.push_back(Rmbs);
|
||
|
||
for (reference_wrapper<Figure> c : f)
|
||
c.get().area();
|
||
|
||
/*
|
||
* Площадь параллелограмма равна 144.4
|
||
* Площадь круга равна 660.52
|
||
* Площадь прямоугольника равна 99.4
|
||
* Площадь квадрата равна 542.89
|
||
* Площадь ромба равна 229.68
|
||
*/
|
||
}
|
||
|
||
void ex_2()
|
||
{
|
||
Minivan m("Макдоналдс", "ABC");
|
||
|
||
/*
|
||
* Транспортное средство компании Макдоналдс, модель ABC
|
||
* Легковой автомобиль компании Макдоналдс, модель ABC
|
||
* Автобус компании Макдоналдс, модель ABC
|
||
* Минивэн компании Макдоналдс, модель ABC
|
||
*/
|
||
}
|
||
|
||
void ex_3()
|
||
{
|
||
Fraction a(3, 9);
|
||
Fraction b(2, 3);
|
||
Fraction c; // 0
|
||
|
||
cout << "a = " << a << endl;
|
||
cout << "b = " << b << endl;
|
||
cout << "c = " << c << endl;
|
||
cout << "[a + b] " << a << " + " << b << " = " << a + b << endl;
|
||
cout << "[a - b] " << a << " - " << b << " = " << a - b << endl;
|
||
cout << "[a * b] " << a << " * " << b << " = " << a * b << endl;
|
||
cout << "[a / b] " << a << " / " << b << " = " << a / b << endl;
|
||
cout << "[c + b] " << c << " + " << b << " = " << c + b << endl;
|
||
cout << "[b + c] " << b << " + " << c << " = " << b + c << endl;
|
||
cout << "[c - b] " << c << " - " << b << " = " << c - b << endl;
|
||
cout << "[b - c] " << b << " - " << c << " = " << b - c << endl;
|
||
cout << "[c * b] " << c << " * " << b << " = " << c * b << endl;
|
||
cout << "[b * c] " << b << " * " << c << " = " << b * c << endl;
|
||
cout << "[c / b] " << c << " / " << b << " = " << c / b << endl;
|
||
cout << "[b / c] " << b << " / " << c << " = " << b / c << endl;
|
||
cout << "-a = " << -a << endl;
|
||
cout << "[a == b] " << a << " == " << b << " is " << ((a == b) ? "true" : "false") << endl;
|
||
cout << "[a != b] " << a << " != " << b << " is " << ((a != b) ? "true" : "false") << endl;
|
||
cout << "[a < b] " << a << " < " << b << " is " << ((a < b) ? "true" : "false") << endl;
|
||
cout << "[a <= b] " << a << " <= " << b << " is " << ((a <= b) ? "true" : "false") << endl;
|
||
cout << "[a > b] " << a << " > " << b << " is " << ((a > b) ? "true" : "false") << endl;
|
||
cout << "[a >= b] " << a << " >= " << b << " is " << ((a >= b) ? "true" : "false") << endl;
|
||
cout << "[c == a] " << c << " == " << a << " is " << ((c == a) ? "true" : "false") << endl;
|
||
cout << "[c != a] " << c << " != " << a << " is " << ((c != a) ? "true" : "false") << endl;
|
||
cout << "[c < a] " << c << " < " << a << " is " << ((c < a) ? "true" : "false") << endl;
|
||
cout << "[c <= a] " << c << " <= " << a << " is " << ((c <= a) ? "true" : "false") << endl;
|
||
cout << "[c > a] " << c << " > " << a << " is " << ((c > a) ? "true" : "false") << endl;
|
||
cout << "[c >= a] " << c << " >= " << a << " is " << ((c >= a) ? "true" : "false") << endl;
|
||
|
||
/*
|
||
* a = 3/9
|
||
* b = 2/3
|
||
* c = 0
|
||
* [a + b] 3/9 + 2/3 = 1
|
||
* [a - b] 3/9 - 2/3 = -1/3
|
||
* [a * b] 3/9 * 2/3 = 2/9
|
||
* [a / b] 3/9 / 2/3 = 1/2
|
||
* [c + b] 0 + 2/3 = 2/3
|
||
* [b + c] 2/3 + 0 = 2/3
|
||
* [c - b] 0 - 2/3 = -2/3
|
||
* [b - c] 2/3 - 0 = 2/3
|
||
* [c * b] 0 * 2/3 = 0
|
||
* [b * c] 2/3 * 0 = 0
|
||
* [c / b] 0 / 2/3 = 0
|
||
* [b / c] 2/3 / 0 = [На 0 делить нельзя!] 0
|
||
* -a = -3/9
|
||
* [a == b] 3/9 == 2/3 is false
|
||
* [a != b] 3/9 != 2/3 is true
|
||
* [a < b] 3/9 < 2/3 is true
|
||
* [a <= b] 3/9 <= 2/3 is true
|
||
* [a > b] 3/9 > 2/3 is false
|
||
* [a >= b] 3/9 >= 2/3 is false
|
||
* [c == a] 0 == 3/9 is false
|
||
* [c != a] 0 != 3/9 is true
|
||
* [c < a] 0 < 3/9 is true
|
||
* [c <= a] 0 <= 3/9 is true
|
||
* [c > a] 0 > 3/9 is false
|
||
* [c >= a] 0 >= 3/9 is false
|
||
*/
|
||
}
|
||
|
||
void ex_4()
|
||
{
|
||
|
||
}
|