Skip to content

okovtun/SBD_121

Repository files navigation

https://github.com/okovtun/SBD_121
https://www.youtube.com/watch?v=dWQ25Tk8nwM&list=PLeqyOOqxeiIOAG3qbhOXnDsG1pU5q6cyx

TOREAD:
https://github.com/okovtun/BD_011/blob/master/NumericSystems.pdf
https://www.softelectro.ru/ieee754.html
https://github.com/okovtun/BV_011/blob/master/DataTypes.pdf

BOOKS:
https://drive.google.com/drive/folders/1mIhAKMp5-Jpy6s5X8u924tRCXFEdHE_z?usp=sharing
https://drive.google.com/file/d/1UXYIbYzXBLsUxvNBRpsser9I39oKJihP/view?usp=sharing Assembler

https://www.youtube.com/watch?v=4NYC-VU-svE using namespace std;

/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////					  POINTERS							/////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

Pointers:http://cplusplus.com/doc/tutorial/pointers/!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

TODO:
0. ВЫУЧИТЬ ТЕОРИЮ ПО УКАЗАТЕЛЯМ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

1. В Solution Pointers создать проект Numbers, и в этом проекте:
	Есть массив из десяти элементов заполненный случайными числами. 
	Необходимо создать еще 2 массива even[] и odd[]	МИНИМАЛЬНО ВОЗМОЖНОГО РАЗМЕРА, 
	в массив even[] скопировать все четные значения, а в массив odd[] - все нечетные значения
	из исходного массива;

2. В проекте DynamicMemory реализовать следующие функции:
	??? push_back(???);		//Добавляет значение в конец массива
	??? push_front(???);	//Добавляет значение в начало массива
	??? insert(???);		//Вставляет значение в массив по указанному индексу

	??? pop_back(???);		//Удаляет последний элемент из массива
	??? pop_front(???);		//Удаляет нулевой элемент из массива
	??? erase(???);			//Удаляет элемент из массива по заданному индексу
	Для того чтобы удалить элемент из массива, в буферный массив нужно скопировать все кроме удаляемого элемента.

	??? push_row_back(???);	//Добавляет строку в конец двумерного динамического массива
	??? push_row_front(???);//Добавляет строку в начало двумерного динамического массива
	??? insert_row(???);	//Добавляет строку в двумерный динамический массив по указанному индексу

	??? pop_row_back(???);	//Удаляет строку с конца двумерного динамического массива
	??? pop_row_front(???);	//Удаляет строку с начала двумерного динамического массива
	??? erase_row(???);		//Удаляет строку из двумерный динамический массива по указанному индексу

	??? push_col_back(???);	//Добавляет столбец в конец двумерного динамического массива
	??? push_col_front(???);//Добавляет столбец в начало двумерного динамического массива
	??? insert_col(???);	//Добавляет столбец в двумерный динамический массив по указанному индексу

	??? pop_col_back(???);	//Удаляет столбец с конца двумерного динамического массива
	??? pop_col_front(???);	//Удаляет столбец с начала двумерного динамического массива
	??? erase_col(???);		//Удаляет столбец из двумерный динамический массива по указанному индексу

3. ***Закоммитить все измерения связанные с предыдущим заданием и создать ветку master->DynamicTemplated.
   В ветке DynamicTemplated шаблонизировать все функции для работы с динамическими массивами. COMMIT


/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////					  FUNCTIONS							/////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

TODO:
1. В репозитории с предыдущим домашним заданием создать ветку "templated", 
   и в этой ветке шаблониировать все функции кроме FillRand(), она остается перегруженной;
2. От ветки "templated" создать ветку "templated_split", и в ней 
   вынести шаблонные функции в отдельные файлы.

DONE:
1. В ветке master перегрузить функции
	??? ReversePrint(???);	//Выводит массив в обратном направлении;
	??? Sum(???);		//Возвращает сумму элементов массива;
	??? Avg(???);		//Возвращает среднее арифметическое элементов массива;
	??? minValueIn(???);	//Возвращает минимальное значение из массива;
	??? maxValueIn(???);	//Возвращает максимальное значение из массива;
	??? Sort(???);		//Сортирует массив в порядке возрастания;
	??? shiftLeft(???);		//Выполняет циклический сдвиг массива влево, на заданное число элементов; 
	??? shiftRight(???);	//Выполняет циклический сдвиг массива вправо, на заданное число элементов; 
   для одномерных и двумерных массивов типа int, double, float, и char.
2. Создать ветку SeparationOverload, и в этой ветке вынести функции в отдельные файлы:
	File		=>	Functions:
	FillRand	=>	FillRand;
	Print		=>	Print, ReversePrint;
	Sort		=>	Sort;
	Shift		=>	shiftLeft и shiftRight;
	Statistics	=>	Sum, Avg, minValueIn, maxValueIn;

DONE:
0. выучить теорию!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1. В проекте Functions\Arrays написать функции:
	??? ReversePrint(???);	//Выводит массив в обратном направлении;
	??? Sum(???);		//Возвращает сумму элементов массива;
	??? Avg(???);		//Возвращает среднее арифметическое элементов массива;
	??? minValueIn(???);	//Возвращает минимальное значение из массива;
	??? maxValueIn(???);	//Возвращает максимальное значение из массива;
	??? Sort(???);		//Сортирует массив в порядке возрастания;
	??? shiftLeft(???);		//Выполняет циклический сдвиг массива влево, на заданное число элементов; 
	??? shiftRight(???);	//Выполняет циклический сдвиг массива вправо, на заданное число элементов; 

/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////						ARRAYS							/////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

DONE:
1. Выучить теорию по массивам!!!!!!!!!!
2. Массив, введенный с клавиатуры:
	- вывести на экран в прямом порядке; 
	- вывести на экран в обратном порядке;
	- найти сумму элементов массива;
	- найти среднее арифметическое элементов массива;
	- найти минимальное и максимальное значение в массиве;
3. Есть массив из десяти элементов, проициализированный значениями 1 2 3 ... 10.
   Необходимо выполнить циклический сдвиг этого массива на заданное число элементов (вводит пользователь)
   например, циклический сдвиг на 3 элемента вправо:
   1	2	3	4	5	6	7	8	9	10
   8	9	10	1	2	3	4	5	6	7

/////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////					CONTROL STRUCTURES					/////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////

TODO:
1. https://github.com/okovtun/BV_011/blob/master/ControlStructures/Geometria/Task/Geometria1.txt;
2. https://github.com/okovtun/BV_011/blob/master/ControlStructures/Geometria/Task/ChessBoard.jpg;
3. https://github.com/okovtun/BV_011/blob/master/ControlStructures/Geometria/Task/HardChess.jpg;

DONE:
1. Написать программу, которая вычисляет факториал числа, введенного с клавиатуры;
2. Написать программу, которая возводит указанное число в указанную степень. 
   Функцию pow() использовать запрещено;
3. Написать программу, которая выводит на экран ASCII-таблицу по 16 символов в строке.
   Символы разделяются пробелом;
   ---------------------------------------------------------------
4. Вывести на экран таблицу умножения;
5. Вывести на экран таблицу Пифагора;

DONE:
1. Написать программу "Калькулятор", которая принимает выражение вида 2+3 
   и выводит результат введенной операции на экран;
2. Написать программу, которая определяет, является ли введенное число палиндромом;
3. Написать программу 3Dshooter, которая выводит действие игрока на экран, 
   в зависимости от нажатой клавиши:
   w - вперед
   s - назад
   a - влево
   d - вправо
   space - прыжок
   enter - выстрел

DONE:
1. Рассмотреть имя переменной, константы и операторы: https://github.com/okovtun/BV_011/blob/master/DataTypes.pdf
2. Решить все задачи (кроме первой) из файла: https://github.com/okovtun/BV_011/blob/master/VariablesAndTypes/VariablesTask.pdf

TODO:
Вывести в консоль стишок "В лесу родилась Ёлочка". 
Стишок должен быть выровнен по середине экрана, 
и его куплеты должны быть разделены пустой строкой.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages