Skip to content

okovtun/PD_212

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

No packages published

Languages