diff options
clean up
4 files changed, 0 insertions, 218 deletions
| -rw-r--r-- | Sem. 01/README.md | 55 | ||||
| -rw-r--r-- | Sem. 01/notes_1.pdf | bin | 113291 -> 0 bytes | |||
| -rw-r--r-- | Sem. 01/task1.cpp | 37 | ||||
| -rw-r--r-- | Sem. 01/task1/task1.cpp | 126 |
diff --git a/Sem. 01/README.md b/Sem. 01/README.md deleted file mode 100644 index e61f925..0000000 --- a/Sem. 01/README.md +++ /dev/null @@ -1,55 +0,0 @@ - - -## Структури - -Структурите в C++ се използват за групиране на елементи. Елементите, наричани още членове, могат да бъдат от различен тип и с различна дължина. - ```c++ -struct Box -{ - int height; - int weight; -} - ``` - -### Деклариране на обекти от новия тип - ```c++ -Box b; //default values to height and weight - -Box b2 = {3, 4} // height = 3, weight = 3; - -Box b3; -b3.height = 13; -b3.weight = 14; - ``` - -### Подаване във функции -Ако няма да променяме обекта го подаваме по **константна референция.** - ```c++ -int calculcateArea(const Box& b) -{ - return b.height * b.weight; -} -``` - Може и само по **референция**, но тогава промените ще се отразят върху подадения аргумент. - - ```c++ -void readBox(Box& b) -{ - cin >> b.height >> b.weight; -} - ``` -Може и да го подаваме по **копие**. - ```c++ -Box revertBox(Box b) -{ - int temp = b.height; - b.height = b.weight; - b.weight = temp; - - return b; -} -``` -### Задачи - -**Задача 1:** Въвежда се цяло число **N** и после **N** тригъгълника в равнината, определени от 3 точки ( 6 координати). -Отпечатайте тригълниците **сортирани по лицата им.** diff --git a/Sem. 01/notes_1.pdf b/Sem. 01/notes_1.pdf Binary files differdeleted file mode 100644 index 6110f89..0000000 --- a/Sem. 01/notes_1.pdf +++ /dev/null diff --git a/Sem. 01/task1.cpp b/Sem. 01/task1.cpp deleted file mode 100644 index e6f4661..0000000 --- a/Sem. 01/task1.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include <iostream> -#include <chrono> - -using namespace std; - -bool checkIfObratim(size_t element, size_t Z) -{ - for (int i = 1; i < Z; i++) - { - if ((i * element) % Z == 0) - { - std::cout << "Obratniq element na " << element << " e " << i << std::endl; - return true; - } - } - return false; -} -size_t countDivisers(size_t Z) -{ - size_t count = 0; - for (int i = 1; i < Z; i++) - { - if (checkIfObratim(i,Z)) - count++; - else - { - std::cout << "Neobratim " << i << std::endl; - } - } - return count; -} -int main() -{ - - cout << countDivisers(4096) << endl; - -} diff --git a/Sem. 01/task1/task1.cpp b/Sem. 01/task1/task1.cpp deleted file mode 100644 index 67ad5b1..0000000 --- a/Sem. 01/task1/task1.cpp +++ /dev/null @@ -1,126 +0,0 @@ -#include <iostream> -#include <chrono> - -using namespace std; - - -struct point -{ - int x; - int y; -}; -void print(const point& ptr) -{ - cout << ptr.x << " " << ptr.y << endl; -} -point readPoint() -{ - int x, y; - cin >> x >> y; - return{ x, y }; -} -double getDist(const point& origin, const point& dest) -{ - double dx = origin.x - dest.x; - double dy = origin.y - dest.y; - - return sqrt(dx*dx + dy*dy); -} - - -struct triangle -{ - point p1; - point p2; - point p3; -}; - -double getArea(const triangle& tr) -{ - double sideA = getDist(tr.p1, tr.p2); - double sideB = getDist(tr.p2, tr.p3); - double sideC = getDist(tr.p3, tr.p1); - - double halfP = (sideA + sideB + sideC) / 2; - return sqrt(halfP * (halfP - sideA) * (halfP - sideB) * (halfP - sideC)); - -} - -void print(const triangle& tr) -{ - cout << "Point1: "; - print(tr.p1); - cout << "Point2: "; - print(tr.p2); - cout << "Point3: "; - print(tr.p3); - cout << getArea(tr) << endl << endl; -} - -void swap(int * arr, int i, int j) -{ - int temp = arr[i]; - arr[i] = arr[j]; - arr[j] = temp; -} -void swap(triangle* arr, int i, int j) -{ - triangle temp = arr[i]; - arr[i] = arr[j]; - arr[j] = temp; -} -void selectionSort(int* areas, triangle* triangles, int len) -{ - for (int i = 0; i < len-1; i++) - { - int currPos = i; - int min = i; - - for (int j = i; j < len; j++) - { - if (areas[j] < areas[min]) - min = j; - } - - if (min != i) - { - swap(areas, i, min); - swap(triangles, i, min); - } - } -} -int main() -{ - - - int n; - cin >> n; - - triangle* triangles = new triangle[n]; - - for (int i = 0; i < n; i++) - { - point p1 = readPoint(); - point p2 = readPoint(); - point p3 = readPoint(); - - triangles[i].p1 = p1; - triangles[i].p2 = p2; - triangles[i].p3 = p3; - } - - int* areas = new int[n]; - - - for (int i = 0; i < n; i++) - areas[i] = getArea(triangles[i]); - - selectionSort(areas, triangles, n); - - for (int i = 0; i < n; i++) - print(triangles[i]); - - delete[] triangles; - delete[] areas; - -} |
