From 5e1d237096be727f7e437dc79db9fe98f82c0ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D1=81402?= <с402@LAPTOP-GSFF9G8M> Date: Tue, 27 Feb 2024 11:59:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=E2=84=961.=20=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawningElectricLocomotive.cs | 95 +++--- .../EntityElectricLocomotive.cs | 19 +- .../FormElectricLocomotive.cs | 4 +- cfdiv3/cfdiv3.sln | 31 -- cfdiv3/cfdiv3/A.cpp | 70 ---- cfdiv3/cfdiv3/cfdiv3.vcxproj | 135 -------- cfdiv3/cfdiv3/cfdiv3.vcxproj.filters | 22 -- lab_aisd/lab_aisd.sln | 31 -- lab_aisd/lab_aisd/lab1.cpp | 301 ------------------ lab_aisd/lab_aisd/lab_aisd.vcxproj | 135 -------- lab_aisd/lab_aisd/lab_aisd.vcxproj.filters | 22 -- 11 files changed, 45 insertions(+), 820 deletions(-) delete mode 100644 cfdiv3/cfdiv3.sln delete mode 100644 cfdiv3/cfdiv3/A.cpp delete mode 100644 cfdiv3/cfdiv3/cfdiv3.vcxproj delete mode 100644 cfdiv3/cfdiv3/cfdiv3.vcxproj.filters delete mode 100644 lab_aisd/lab_aisd.sln delete mode 100644 lab_aisd/lab_aisd/lab1.cpp delete mode 100644 lab_aisd/lab_aisd/lab_aisd.vcxproj delete mode 100644 lab_aisd/lab_aisd/lab_aisd.vcxproj.filters diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs index 3b5a2f6..b3298c0 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/DrawningElectricLocomotive.cs @@ -52,11 +52,11 @@ public class DrawningElectricLocomotive /// /// /// - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool electricHorns, bool batteryPlacement, int wheelsAmount) + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool electricHorns, bool batteryPlacement) { EntityElectricLocomotive = new EntityElectricLocomotive(); - EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, bodyKit, electricHorns, batteryPlacement, wheelsAmount); + EntityElectricLocomotive.Init(speed, weight, bodyColor, additionalColor, electricHorns, batteryPlacement); _pictureWidth = null; _pictureHeight = null; _startPosX = null; @@ -75,8 +75,9 @@ public class DrawningElectricLocomotive { return false; } - - if(_startPosY.HasValue && _startPosY + _drawningElectricLocomotiveHeight < _pictureHeight ) + _pictureWidth = width; + _pictureHeight = height; + if (_startPosY.HasValue && _startPosY + _drawningElectricLocomotiveHeight < _pictureHeight ) { _startPosY = _pictureHeight - _drawningElectricLocomotiveHeight; } @@ -84,8 +85,6 @@ public class DrawningElectricLocomotive { _startPosX = _pictureWidth - _drawningElectricLocomotiveWidth; } - _pictureWidth = width; - _pictureHeight = height; return true; } @@ -104,6 +103,8 @@ public class DrawningElectricLocomotive _startPosX = x; _startPosY = y; + + if ( _drawningElectricLocomotiveHeight + y > _pictureHeight) { _startPosY = _pictureHeight - _drawningElectricLocomotiveHeight; @@ -111,7 +112,6 @@ public class DrawningElectricLocomotive if ( _drawningElectricLocomotiveWidth + x > _pictureWidth) { _startPosX = _pictureWidth - _drawningElectricLocomotiveWidth; - } if (x < 0) { @@ -208,18 +208,7 @@ public class DrawningElectricLocomotive Point point6 = new Point(_startPosX.Value + 69, _startPosY.Value + 37); Point point7 = new Point(_startPosX.Value + 75 + 7, _startPosY.Value + 37 + 6); Point point8 = new Point(_startPosX.Value + 69, _startPosY.Value + 37 + 6); - - //Инициализация опорных точек для прорисовки "рогов" - Point pointHorns1 = new Point(_startPosX.Value + 13, _startPosY.Value+5); - Point pointHorns2 = new Point(_startPosX.Value + 16, _startPosY.Value + 2); - Point pointHorns3 = new Point(_startPosX.Value + 11, _startPosY.Value); - - //Инициализация опорных точек для прорисовки молнии на хранилище батарей - Point pointLightning1 = new Point(_startPosX.Value + 39, _startPosY.Value + 37); - Point pointLightning2 = new Point(_startPosX.Value + 37, _startPosY.Value + 39); - Point pointLightning3 = new Point(_startPosX.Value + 39, _startPosY.Value + 40); - Point pointLightning4 = new Point(_startPosX.Value + 37, _startPosY.Value + 41); - + //Совокупность точек полигона уголка первой "юбки" Point[] firstTrianglePoints = { @@ -252,12 +241,18 @@ public class DrawningElectricLocomotive g.DrawLine(pen, point2, pointFinish); + Brush brWhite = new SolidBrush(Color.White); + g.DrawRectangle(windowPen, _startPosX.Value + 24.3f, _startPosY.Value + 9, 8, 8); + + g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value + 14, 8, 12); + + g.FillRectangle(brWhite, _startPosX.Value + 36, _startPosY.Value + 16, 7, 10); + //Прорисовка передней и задней "юбки" g.FillRectangle(blackBrush, _startPosX.Value + 7, _startPosY.Value + 37, 25, 5.3f); g.FillRectangle(blackBrush, _startPosX.Value + 47, _startPosY.Value + 37, 22, 5.3f); - //Прорисовка двух передних колёс g.FillEllipse(whiteBrush, _startPosX.Value + 6.3f, _startPosY.Value + 37, 10, 10); g.DrawEllipse(penSolid, _startPosX.Value + 9, _startPosY.Value + 37, 8, 8); @@ -265,17 +260,6 @@ public class DrawningElectricLocomotive g.DrawEllipse(penSolid, _startPosX.Value + 24, _startPosY.Value + 37, 8, 8); g.FillEllipse(additionalBrush, _startPosX.Value + 24, _startPosY.Value + 37, 8, 8); - //Прорисовка "рогов" электровоза - g.DrawLine(penSolid, pointHorns1, pointHorns2); - g.DrawLine(penSolid, pointHorns2, pointHorns3); - - //Прорисовка "хранилища батарей" электровоза - g.FillRectangle(blackBrush, _startPosX.Value + 36, _startPosY.Value + 37, 8, 4.5f); - g.DrawLine(penSolidYellow, pointLightning1, pointLightning2); - g.DrawLine(penSolidYellow, pointLightning2, pointLightning3); - g.DrawLine(penSolidYellow, pointLightning3, pointLightning4); - - //Прорисовка двух задних колёс g.FillEllipse(whiteBrush, _startPosX.Value + 25 + 38, _startPosY.Value + 37, 10, 10); g.DrawEllipse(penSolid, _startPosX.Value + 25 + 26, _startPosY.Value + 37, 8, 8); @@ -291,33 +275,34 @@ public class DrawningElectricLocomotive g.DrawRectangle(windowPen, _startPosX.Value + 63, _startPosY.Value + 9, 8, 8); - //TODO Опциональная прорисовка колёс для усложненной работы - //switch (EntityElectricLocomotive.WheelsAmount) - //{ - // case 4: - // //TODO - - // case 3: - // //TODO - - // case 2: - // //TODO - - // case 1: - // //TODO - // return; - - //} - - //Прорисовка опциональных элементов (второе окно и дверь) - if (EntityElectricLocomotive.BodyKit) + + if (EntityElectricLocomotive.ElectricHorns) { - Brush brWhite = new SolidBrush(Color.White); - g.DrawRectangle(windowPen, _startPosX.Value + 24.3f, _startPosY.Value + 9, 8, 8); - g.DrawRectangle(pen, _startPosX.Value + 35, _startPosY.Value + 14, 8, 12); - g.FillRectangle(brWhite, _startPosX.Value + 36, _startPosY.Value + 16, 7, 10); + //Инициализация опорных точек для прорисовки "рогов" + Point pointHorns1 = new Point(_startPosX.Value + 13, _startPosY.Value + 5); + Point pointHorns2 = new Point(_startPosX.Value + 16, _startPosY.Value + 2); + Point pointHorns3 = new Point(_startPosX.Value + 11, _startPosY.Value); + + //Прорисовка "рогов" электровоза + g.DrawLine(penSolid, pointHorns1, pointHorns2); + g.DrawLine(penSolid, pointHorns2, pointHorns3); + } + if(EntityElectricLocomotive.BatteryPlacement) + { + //Инициализация опорных точек для прорисовки молнии на хранилище батарей + Point pointLightning1 = new Point(_startPosX.Value + 39, _startPosY.Value + 37); + Point pointLightning2 = new Point(_startPosX.Value + 37, _startPosY.Value + 39); + Point pointLightning3 = new Point(_startPosX.Value + 39, _startPosY.Value + 40); + Point pointLightning4 = new Point(_startPosX.Value + 37, _startPosY.Value + 41); + + //Прорисовка "хранилища батарей" электровоза + g.FillRectangle(blackBrush, _startPosX.Value + 36, _startPosY.Value + 37, 8, 4.5f); + g.DrawLine(penSolidYellow, pointLightning1, pointLightning2); + g.DrawLine(penSolidYellow, pointLightning2, pointLightning3); + g.DrawLine(penSolidYellow, pointLightning3, pointLightning4); + } } diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs index 938828a..0a3040f 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/EntityElectricLocomotive.cs @@ -27,20 +27,10 @@ public class EntityElectricLocomotive public Color AdditionalColor { get; private set; } /// - /// Признак (опция) наличия обвеса - /// - public bool BodyKit { get; private set; } - - /// - /// Признак (опция) наличия "рогов" + /// Признак (опция) наличия "корпус" /// public bool ElectricHorns { get; private set; } - /// - /// Признак (опция) количества колёс - /// - public int WheelsAmount { get; private set; } - /// /// Признак (опция) наличия места под батарею /// @@ -58,20 +48,17 @@ public class EntityElectricLocomotive /// /// /// - /// /// /// - /// - public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodyKit, bool electricHorns, bool batteryPlacement, int wheelsAmount) + + public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool electricHorns, bool batteryPlacement) { Speed = speed; Weight = weight; BodyColor = bodyColor; AdditionalColor = additionalColor; - BodyKit = bodyKit; ElectricHorns = electricHorns; BatteryPlacement = batteryPlacement; - WheelsAmount = wheelsAmount; } } diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs index 2de42d9..d788b47 100644 --- a/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs +++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/FormElectricLocomotive.cs @@ -42,9 +42,9 @@ public partial class FormElectricLocomotive : Form _drawningElectricLocomotive.Init(random.Next(100, 300), random.Next(1000, 3000), Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), Color.FromArgb(random.Next(0, 256), random.Next(0, 256), random.Next(0, 256)), - Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2)), random.Next(1, 5)); + Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2))); _drawningElectricLocomotive.SetPictureSize(pictureBoxElectricLocomotive.Width, pictureBoxElectricLocomotive.Height); - _drawningElectricLocomotive.SetPosition(random.Next(10, 100), random.Next(10, 100)); + _drawningElectricLocomotive.SetPosition(random.Next(0,pictureBoxElectricLocomotive.Width), random.Next(0,pictureBoxElectricLocomotive.Height)); Bitmap bmp = new(pictureBoxElectricLocomotive.Width, pictureBoxElectricLocomotive.Height); Graphics gr = Graphics.FromImage(bmp); diff --git a/cfdiv3/cfdiv3.sln b/cfdiv3/cfdiv3.sln deleted file mode 100644 index 7695ced..0000000 --- a/cfdiv3/cfdiv3.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.7.34024.191 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cfdiv3", "cfdiv3\cfdiv3.vcxproj", "{A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Debug|x64.ActiveCfg = Debug|x64 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Debug|x64.Build.0 = Debug|x64 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Debug|x86.ActiveCfg = Debug|Win32 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Debug|x86.Build.0 = Debug|Win32 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Release|x64.ActiveCfg = Release|x64 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Release|x64.Build.0 = Release|x64 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Release|x86.ActiveCfg = Release|Win32 - {A580EAEA-AEBB-4210-8DFA-E3E1241D9FCF}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {C6324E34-5959-487B-98C6-891D3D3A1B32} - EndGlobalSection -EndGlobal diff --git a/cfdiv3/cfdiv3/A.cpp b/cfdiv3/cfdiv3/A.cpp deleted file mode 100644 index e2cb95d..0000000 --- a/cfdiv3/cfdiv3/A.cpp +++ /dev/null @@ -1,70 +0,0 @@ -#define _USE_MATH_DEFINES -#define _CRT_SECURE_NO_WARNINGS -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; - -typedef long long ll; -typedef long double ld; -typedef pair pll; -typedef pair pii; - -const ll LINF = 100098809990; -const int INF = 1009000999; -const int N = 1002; -const ld PI = 3.1415926535; -const ld E = 2.7182818284; -const ll MOD = 1000000007; -const int MAX = 150010; - - -ll solve(vectorv, ll n) { - ll time = v[0]-1, k = 0; - for (int j = 0; j < n; j++) { - for (int i = time + 1; i < 10e10; i++) { - if (i % v[j] == 0) { - k += 1; - time = i; - if (k == n) { - return i; - } - break; - } - } - } - -} - -int main() { - ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); - - ll t, n, zn, f = 0; - - - cin >> t; - for (int i = 0; i < t; i++) { - cin >> n; - vectorv; - for (int j = 0; j < n; j++) { - cin >> zn; - v.push_back(zn); - } - f = solve(v, n); - cout << f << '\n'; - - - } - - return 0; -} \ No newline at end of file diff --git a/cfdiv3/cfdiv3/cfdiv3.vcxproj b/cfdiv3/cfdiv3/cfdiv3.vcxproj deleted file mode 100644 index 743f735..0000000 --- a/cfdiv3/cfdiv3/cfdiv3.vcxproj +++ /dev/null @@ -1,135 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {a580eaea-aebb-4210-8dfa-e3e1241d9fcf} - cfdiv3 - 10.0 - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/cfdiv3/cfdiv3/cfdiv3.vcxproj.filters b/cfdiv3/cfdiv3/cfdiv3.vcxproj.filters deleted file mode 100644 index fd18e8a..0000000 --- a/cfdiv3/cfdiv3/cfdiv3.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Исходные файлы - - - \ No newline at end of file diff --git a/lab_aisd/lab_aisd.sln b/lab_aisd/lab_aisd.sln deleted file mode 100644 index c507d95..0000000 --- a/lab_aisd/lab_aisd.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.7.34024.191 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lab_aisd", "lab_aisd\lab_aisd.vcxproj", "{DD05AB56-9070-4CED-A979-38A2FBA74B9A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Debug|x64.ActiveCfg = Debug|x64 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Debug|x64.Build.0 = Debug|x64 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Debug|x86.ActiveCfg = Debug|Win32 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Debug|x86.Build.0 = Debug|Win32 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Release|x64.ActiveCfg = Release|x64 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Release|x64.Build.0 = Release|x64 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Release|x86.ActiveCfg = Release|Win32 - {DD05AB56-9070-4CED-A979-38A2FBA74B9A}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {B1FBCA36-B401-40B8-BC85-D0E8E011D3C8} - EndGlobalSection -EndGlobal diff --git a/lab_aisd/lab_aisd/lab1.cpp b/lab_aisd/lab_aisd/lab1.cpp deleted file mode 100644 index 1aa6217..0000000 --- a/lab_aisd/lab_aisd/lab1.cpp +++ /dev/null @@ -1,301 +0,0 @@ -#include -#include -using namespace std; - -#define SIZE 100 - -struct Students { - string name; - int course_number; - string faculty; -}; - -struct Stack { - -public: - struct Node - { - public: - Students data; - Node* next; - Node(Students data) - { - this->data = data; - this->next = nullptr; - } - }; -private: - Node* head; - int size; -public: - Stack() - { - head = nullptr; - size = 0; - } - int length() - { - return size; - } - void push(Students data) - { - Node* temp = new Node(data); - temp->next = head; - head = temp; - size++; - } - Students top() - { - if (head == nullptr) exit(0); - return head->data; - } - void pop() - { - if (head == nullptr) return; - Node* ptr = head->next; - delete head; - head = ptr; - size--; - } - bool isEmpty() - { - return size != 0; - } - void print() - { - if (head == nullptr) return; - Node* ptr = head; - while(true) - { - cout << "Name = " << ptr->data.name << "\t"; - cout << "Course number = " << ptr->data.course_number << "\t"; - cout << "Faculty = " << ptr->data.faculty << "\n"; - if (ptr->next == nullptr) break; - ptr = ptr->next; - } - } - void erase() - { - if (head == nullptr) return; - Node* ptr = head; - while (ptr->next != nullptr) - { - head = ptr; - ptr = ptr->next; - delete head; - } - head = nullptr; - size = 0; - } - Node* begin() - { - return head; - } -}; - - -void merge(int arr[], int left[], int left_size, int right[], int right_size) -{ - int i = 0, j = 0, k = 0; - while (i < left_size && j < right_size) - { - if (left[i] < right[j]) - { - arr[k] = left[i]; - i++; - } - else - { - arr[k] = right[j]; - j++; - } - k++; - } - while (i < left_size) - { - arr[k] = left[i]; - i++; - k++; - } - while (j < right_size) - { - arr[k] = right[j]; - j++; - k++; - } -} - -void merge(Stack& stack, Stack& left, Stack& right) -{ - - while (left.isEmpty() && right.isEmpty()) { - if (left.top().name < right.top().name) - { - stack.push(left.top()); - left.pop(); - } - else - { - stack.push(right.top()); - right.pop(); - } - } - while(left.isEmpty()) - { - stack.push(left.top()); - left.pop(); - } - while (right.isEmpty()) - { - stack.push(right.top()); - right.pop(); - } -} - -void divide(Stack& stack) { - - if (stack.length() <= 1) { - return; - } - - int divide_to = (stack.length() % 2 == 0) ? stack.length() / 2 : stack.length() / 2 + 1; - - Stack stackLeft, stackRight; - - for (int i = 0; i < stack.length(); i++) - { - if (i < divide_to) - { - stackLeft.push(stack.top()); - stack.pop(); - } - else - { - stackRight.push(stack.top()); - stack.pop(); - } - } - - divide(stackLeft); - divide(stackRight); - merge(stack, stackLeft, stackRight); - -} - -void divide(int arr[], int size) -{ - if (size <= 1) - { - return; - } - - int divide_to = (size % 2 == 0) ? size/2 : size / 2 + 1; - - int left[SIZE]; - int right[SIZE]; - - for (int i = 0; i < size; ++i) - { - if (i < divide_to) left[i] = arr[i]; - else right[i - divide_to] = arr[i]; - } - - divide(left, divide_to); - divide(right, size - divide_to); - merge(arr, left, divide_to, right, size - divide_to); -} - -void ShakingSort(int arr[]) { - int control = SIZE - 1; - int left = 0, right = control; - do { - for (int i = left; i < right; i++) { - if (arr[i] > arr[i + 1]) { - swap(arr[i], arr[i + 1]); - control = i; - } - } - right = control; - for (int i = right; i > left; i--) { - if (arr[i] < arr[i - 1]) { - swap(arr[i], arr[i - 1]); - control = i; - } - } - left = control; - } while (left < right); -} - -void bubbleSort(Stack& stack) -{ - int swapped, i; - Stack::Node* ptr; - Stack::Node* lptr = nullptr; - - if (stack.begin() == nullptr) - return; - - do - { - swapped = 0; - ptr = stack.begin(); - - while (ptr->next != lptr) - { - if (ptr->data.name > ptr->next->data.name) - { - swap(ptr->data, ptr->next->data); - swapped = 1; - } - ptr = ptr->next; - } - lptr = ptr; - } while (swapped); -} - -int main() -{ - Stack Test; - if (Test.isEmpty()) cout << "Stack is empty\n"; - - Students student1; - student1.course_number = 4; - student1.faculty = "FIST"; - student1.name = "Aleksey Romanov"; - Test.push(student1); - - Students student2; - student2.course_number = 1; - student2.faculty = "IATU"; - student2.name = "Danila Bugrov"; - Test.push(student2); - - Students student3; - student3.course_number = 3; - student3.faculty = "RTF"; - student3.name = "Roman Ivanov"; - Test.push(student3); - - Students student4; - student4.course_number = 2; - student4.faculty = "RTF"; - student4.name = "Ivan Aleksandrov"; - Test.push(student4); - - Test.print(); - //Test.erase(); - bubbleSort(Test); - cout << '\n'; - Test.print(); - - - - /*int arr[SIZE]; - for (auto& e : arr) e = rand() % SIZE; - for (auto& e : arr) cout << e << " "; - cout << '\n'; - ShakingSort(arr); - for (auto& e : arr) cout << e << " "; - cout << '\n';*/ - -} \ No newline at end of file diff --git a/lab_aisd/lab_aisd/lab_aisd.vcxproj b/lab_aisd/lab_aisd/lab_aisd.vcxproj deleted file mode 100644 index e19585a..0000000 --- a/lab_aisd/lab_aisd/lab_aisd.vcxproj +++ /dev/null @@ -1,135 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - 17.0 - Win32Proj - {dd05ab56-9070-4ced-a979-38a2fba74b9a} - labaisd - 10.0 - - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - Application - true - v143 - Unicode - - - Application - false - v143 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - Level3 - true - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - Level3 - true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - - - - - Level3 - true - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - - - Console - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/lab_aisd/lab_aisd/lab_aisd.vcxproj.filters b/lab_aisd/lab_aisd/lab_aisd.vcxproj.filters deleted file mode 100644 index b28bd20..0000000 --- a/lab_aisd/lab_aisd/lab_aisd.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Исходные файлы - - - \ No newline at end of file