-
Notifications
You must be signed in to change notification settings - Fork 4
okovtun/PD_212
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
https://github.com/okovtun/PD_212 https://www.youtube.com/watch?v=9JSiZ6RT56o&list=PLeqyOOqxeiIPzkSeyZpJxffGotPeC7krw https://meet.google.com/mho-khdw-fhj?pli=1 TOREAD: https://www.codewars.com/kata/578b4f9b7c77f535fc00002f TODO: Скачать и установить Qt: https://drive.google.com/drive/folders/1nJUXS1MzBZzO6m9dcGMua-_poyvrlTMp?usp=sharing TODO: 1. Если объем топлива в баке меньше 5 литров, должен загораться индикатор 'LOW FUEL'; DONE 2. Научить машину ездить; DONE: 1. При выводе базы на экран должен отображаться не номер, а содержание статьи; DONE 2. Вынести код вывода базы на экран в функцию void print(); DONE 3. Реализовать вывод базы на экран используя range-based-for, !!!И НЕ ИСПОЛЬЗУЯ AUTO!!!; DONE 4. Написать функцию ??? save(???), которая сохраняет базу в файл; DONE 5. Написать функцию ??? load(???), которая загружает базу из файла; DONE 6. Обеспечить добавление нарушений в базу; https://legacy.cplusplus.com/reference/map/map/ DONE: 1. https://legacy.cplusplus.com/reference/stl/ 2. Добавить элемент по указанному индексу в список; 3. Добавить элемент по указанному индексу в односвязный список; DONE: 1. Создать ветку 'TemplatedTree' и в ней шаблонизировать Бинарное дерево; 2. Создать ветку 'SeparatedTree' и в ней разделить шаблонное Бинарное дерево на файлы; DONE: 1. Обеспечить вызов методов дерева без необходимости передачи в него Корня; DONE 2. Деструктор должен очищать дерево, т.е., удалять из него все элементы; DONE 3. Tree tree = { 3, 5, 8, 13, 21 }; DONE 4. Написать метод int depth(), который возвращает глубину дерева; DONE 5. Написать метод void erase(int Data), который удаляет заданное значение из дерева; DONE 6. Написать метод void tree_print(), который выводит на экран дерево как дерево (как на рисунке); 7. Написать метод void balance(), балансирует Бинарное дерево, т.е., DONE из вырожденного дерева делает идеально сбалансированное; 8. Измерить производительность всех этих методов; DONE 9. Код измерения производительности вынести в функию ??? measure(???); DONE DONE: В проекте 'Recursion' реализовать слудующие рекурсивные функции: 1. int Factorial(int n); //принимает число, и возвращает факториал этого числа 2. double Power(double a, int n); //возводит число 'a' в степень 'n' 3. void Fibonacci(???); //выводит на экран ряд Фибоначчи DONE: Разделить двусвязный список на файлы; DONE: От ветки 'master' создать ветку 'templated', и в ней шаблонизировать сначала односвязный, а потом двусвязный список. DONE: Двусвязный список - это двунаправленный контейнер, а любого двунаправленного контейнера есть не только прямой (Iterator), но и обратный итератор (ReverseIterator); DONE: Реализовать двусвязный список. DONE: В классе ForwardList реализовать следующие методы: 1. void pop_front(); //удаляет начальный элемент списка DONE 2. void pop_back(); //удаляет последний элемент списка DONE 3. void insert(???); //вставляет элемент в список по заданному индексу DONE 4. void erase(???); //удаляет элемент из списка по заданному индексу DONE 5. Деструктор списка должен удалять все элементы списка; DONE 6. CopyMethods; DONE 7. MoveMethods; 8. Проверочный код в секции 'RANGE_BASED_FOR_LIST' должен заработать: https://github.com/okovtun/PD_212/blob/4bd8aa566a89891059f65de29050a11d1cbc55ce/DataContainers/ForwardList/main.cpp#L221C17-L221C17 https://www.boost.org/doc/libs/1_83_0/doc/html/string_algo.html TODO: 1. Вынести общий код для рисования геометрических фигур в базовый класс; DONE: 1. Добавить в иерархию недостающие фигуры; 2. Все фигуры нарисовать при помощи WinGDI: https://learn.microsoft.com/en-us/windows/win32/gdi/filled-shapes 3. Добавить иерархию треугольников: https://learn.microsoft.com/en-us/windows/win32/gdi/about-filled-shapes DONE: Реализовать иерархию геометрических фигур: квадрат, прямоугольник, круг, треугольник....... Сгенерировать фигуры в случайном порядке, и для каждой фигуры вывести ее первичные своиства: длина стороны, радиус ..... и вторичные свойства, такие как: площадь и периметр. Каждую фигуру так же нужно нарисовать. DONE: 1. Из файла вида '201 RAW.txt' создать еще два файла: https://github.com/okovtun/PD_212/blob/master/Inheritance/Files/201%20RAW.txt -"201 ready.txt", в котором столбцы MAC и IP просто поменяны местами; -"201dhcpd":https://github.com/okovtun/PD_212/blob/master/Inheritance/Files/201.dhcpd 2. Написать функцию load(), которая загружает группу из файла; DONE: Перегрузить оператор вывода на экран для всех классов. DONE: 1. Реализовать класс Teacher; 2. Реализовать класс Graduate - Дипломник; DONE: 1. Разделить класс 'Fraction' на файлы; 2. От ветки 'StringSeparation' создать ветку 'StringLib', в проекте 'String' собрать *.lib-файл, и проветрить его на другом проекте; DONE: 1. *Разделить класс 'String' на файлы (будем делать на следующем занятии); 2. Применить инициализацию в заголовке, и деллегирование в классе Matrix; 3. Реализовать класс 'Binary', описывающий двоичное число; DONE: В Solution 'IntroductionToOOP' добавить проект 'Matrix', и в этом проекте реализовать класс Matrix, описывающий матрицу. Необходимо реализовать следующие операции над матрицами: +, -, *, /; DONE: Добавить в класс 'String' Move-методы: https://legacy.cplusplus.com/doc/tutorial/classes2/ DONE: В Solution 'IntroductionToOOP' добавить проект 'String', и в нем реализовать класс 'String', описывающий строку. Проверочный код: String str1; //пустая строка, размером 80 Byte String str2 = 5;//пустая строка, размером 5 Byte String str3 = "Hello"; cout << str3 << endl; String str4 = "World"; cout << str4 << endl; String str5 = str3 + str4; cout << str5 << endl; TODO: 1. Выучить теорию!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2. В класс 'Fraction' добавить методы: DONE ??? to_proper(); //преобразует дробь в правильную ??? to_improper(); //преборазует дробь в неправильную ??? reduce(); //сокращает дробь https://www.webmath.ru/poleznoe/formules_12_7.php DONE 3. Перегрузить и проветрить арифметические операторы: +, -; 4. Перегрузить и проветрить составные присваивания: +=, -=, /=; 5. Перегрузить и проветрить операторы сравнения: ==, !=, >, <, >=, <=; DONE 6. Fraction A; cout << "Введите простую дробь: "; cin >> A; cout << A << endl; 7. Fraction A = 2.75; //https://legacy.cplusplus.com/doc/tutorial/typecasting/ cout << A << endl; DONE: 1. Выучить теорию!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2. Перегрузить оставшиеся операторы для класса 'Point'; 3. В Solution "IntroductionToOOP" добавить проект "Fraction", и в нем реализовать класс "Fraction", описывающий простую дробь. В классе должны быть все необходимые методы и операторы; DONE: 1. Выучить теорию!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2. В проекте 'IntroductinToOOP' реализовать метод ??? distance(???), DONE который находит расстояние до указанной точки; 3. В проекте 'IntroductinToOOP' реализовать функцию ??? distance(???), DONE которая находит расстояние между двумя точками;
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published