From c3f7749b3a4d433f072a6a5ed61ba9e841d5ce29 Mon Sep 17 00:00:00 2001 From: Roma Date: Mon, 27 May 2024 17:45:42 +0400 Subject: [PATCH] CourseWork01 --- CourseWorkEreda копия/App.config | 6 + CourseWorkEreda копия/ArrayDeque.cs | 103 ++++++++ .../ArrayDequeParameters.cs | 19 ++ .../ArrayDequeState.cs | 31 +++ CourseWorkEreda копия/ArrayManager.cs | 107 ++++++++ .../CourseWorkEreda.csproj | 11 + .../CourseWorkEreda.sln | 32 +++ .../FormInfo.Designer.cs | 71 ++++++ CourseWorkEreda копия/FormInfo.cs | 25 ++ CourseWorkEreda копия/FormInfo.resx | 126 +++++++++ .../FormInput.Designer.cs | 86 +++++++ CourseWorkEreda копия/FormInput.cs | 38 +++ CourseWorkEreda копия/FormInput.resx | 120 +++++++++ .../FormMain.Designer.cs | 240 ++++++++++++++++++ CourseWorkEreda копия/FormMain.cs | 182 +++++++++++++ CourseWorkEreda копия/FormMain.resx | 120 +++++++++ CourseWorkEreda копия/Program.cs | 17 ++ .../Properties/AssemblyInfo.cs | 36 +++ .../Properties/Resources.Designer.cs | 71 ++++++ .../Properties/Resources.resx | 117 +++++++++ .../Properties/Settings.Designer.cs | 30 +++ .../Properties/Settings.settings | 7 + .../Resources/Down.jpg | Bin 0 -> 140395 bytes CourseWorkEreda копия/Resources/Up.jpg | Bin 0 -> 139784 bytes CourseWorkEreda копия/StateStorage.cs | 131 ++++++++++ CourseWorkEreda копия/Visualizator.cs | 117 +++++++++ 26 files changed, 1843 insertions(+) create mode 100644 CourseWorkEreda копия/App.config create mode 100644 CourseWorkEreda копия/ArrayDeque.cs create mode 100644 CourseWorkEreda копия/ArrayDequeParameters.cs create mode 100644 CourseWorkEreda копия/ArrayDequeState.cs create mode 100644 CourseWorkEreda копия/ArrayManager.cs create mode 100644 CourseWorkEreda копия/CourseWorkEreda.csproj create mode 100644 CourseWorkEreda копия/CourseWorkEreda.sln create mode 100644 CourseWorkEreda копия/FormInfo.Designer.cs create mode 100644 CourseWorkEreda копия/FormInfo.cs create mode 100644 CourseWorkEreda копия/FormInfo.resx create mode 100644 CourseWorkEreda копия/FormInput.Designer.cs create mode 100644 CourseWorkEreda копия/FormInput.cs create mode 100644 CourseWorkEreda копия/FormInput.resx create mode 100644 CourseWorkEreda копия/FormMain.Designer.cs create mode 100644 CourseWorkEreda копия/FormMain.cs create mode 100644 CourseWorkEreda копия/FormMain.resx create mode 100644 CourseWorkEreda копия/Program.cs create mode 100644 CourseWorkEreda копия/Properties/AssemblyInfo.cs create mode 100644 CourseWorkEreda копия/Properties/Resources.Designer.cs create mode 100644 CourseWorkEreda копия/Properties/Resources.resx create mode 100644 CourseWorkEreda копия/Properties/Settings.Designer.cs create mode 100644 CourseWorkEreda копия/Properties/Settings.settings create mode 100644 CourseWorkEreda копия/Resources/Down.jpg create mode 100644 CourseWorkEreda копия/Resources/Up.jpg create mode 100644 CourseWorkEreda копия/StateStorage.cs create mode 100644 CourseWorkEreda копия/Visualizator.cs diff --git a/CourseWorkEreda копия/App.config b/CourseWorkEreda копия/App.config new file mode 100644 index 0000000..56efbc7 --- /dev/null +++ b/CourseWorkEreda копия/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CourseWorkEreda копия/ArrayDeque.cs b/CourseWorkEreda копия/ArrayDeque.cs new file mode 100644 index 0000000..d0476d8 --- /dev/null +++ b/CourseWorkEreda копия/ArrayDeque.cs @@ -0,0 +1,103 @@ +using CourseWork_EredavkinRA; +using System; +namespace CourseWork_EredavkinRA; +public class ArrayDeque +{ + public int[] array; + public int Count; + public int maxCount = 10; + private int top; + + + + public ArrayDeque(int size) + { + array = new int[size]; + top = -1; + } + + + public void PushBack(int element) + { + if (top >= array.Length - 1) + { + MessageBox.Show("Дек переполнен. Невозможно добавить элемент."); + return; + } + + top++; + array[top] = element; + } + public int PopBack() + { + if (top == -1) + { + MessageBox.Show("Дек пуст. Отсутствует элемент для удаления."); + return -1; + } + + int poppedElement = array[top]; + array[top] = 0; + top--; + + return poppedElement; + } + public void PushFront(int element) + { + + + for (int i = top; i >= 0; i--) + { + array[i + 1] = array[i]; + } + array[0] = element; + top++; + } + + public int PopFront() + { + if (top == -1) + { + MessageBox.Show("Дек пуст. Отсутствует элемент для удаления."); + return -1; + } + + int poppedElement = array[0]; + + for (int i = 0; i < top; i++) + { + array[i] = array[i + 1]; + } + + array[top] = 0; + top--; + + return poppedElement; + } + public bool IsEmpty() + { + return top == -1; + } + public int[] GetArray() + { + return array; + } + public ArrayDequeState CreateMemento() + { + return new ArrayDequeState((int[])array.Clone(), top); + } + public ArrayDequeState GetState(ArrayDequeParameters parameter) + { + return new ArrayDequeState(array, Count); + } + public bool InBound(int index) + { + return index >= 0 && index < maxCount; + } + public void SetMemento(ArrayDequeState memento) + { + array = (int[])memento.Array.Clone(); + top = memento.Top; + } + +} \ No newline at end of file diff --git a/CourseWorkEreda копия/ArrayDequeParameters.cs b/CourseWorkEreda копия/ArrayDequeParameters.cs new file mode 100644 index 0000000..6cea4ad --- /dev/null +++ b/CourseWorkEreda копия/ArrayDequeParameters.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CourseWork_EredavkinRA +{ + public class ArrayDequeParameters + { + public int Number { get; set; } + + public ArrayDequeParameters(int number) + { + Number = number; + } + } + +} diff --git a/CourseWorkEreda копия/ArrayDequeState.cs b/CourseWorkEreda копия/ArrayDequeState.cs new file mode 100644 index 0000000..0abdf73 --- /dev/null +++ b/CourseWorkEreda копия/ArrayDequeState.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CourseWork_EredavkinRA +{ + public enum Operation + { + pushBack, pushFront, popBack, popFront, None = -1 + } + public class ArrayDequeState + { + public Operation operation; + public int[] Array { get; } + public int Top; + public int Size; + + + public ArrayDequeState(int[] array, int top, Operation oper = Operation.None) + { + operation = oper; + Array = array; + Top = top; + Size = array.Length; + } + } + +} diff --git a/CourseWorkEreda копия/ArrayManager.cs b/CourseWorkEreda копия/ArrayManager.cs new file mode 100644 index 0000000..d960487 --- /dev/null +++ b/CourseWorkEreda копия/ArrayManager.cs @@ -0,0 +1,107 @@ +using CourseWork_EredavkinRA; +using System.Xml.Linq; + + +namespace CourseWorkEreda; + +public class ArrayManager +{ + + public StateStorage storage; + private ArrayDeque? stack; + + public ArrayManager(ArrayDequeParameters parameters) + { + stack = new ArrayDeque(parameters.Number); + storage = new StateStorage(); + + } + + public IEnumerable GetStates() + { + return storage.GetStates(); + } + public void ClearStates() + { + storage.ClearStates(); + } + public void SetCurrentStateToLast() + { + var lastState = storage.GetLastState(); + if (lastState != null) + { + stack = new ArrayDeque(10); + foreach (var item in lastState.Array) + { + stack.PushFront(item); + } + } + } + public StateStorage GetStorage() + { + return storage; + } + public void SetState(ArrayDequeState state) + { + stack.SetMemento(state); + } + + public void FrontPush(int element) + { + stack.PushFront(element); + ArrayDequeState state = stack.CreateMemento(); + state.operation = Operation.pushFront; + storage.AddState(state); + + state = stack.CreateMemento(); + storage.AddState(stack.CreateMemento(), false); + } + public void BackPush(int element) + { + stack.PushBack(element); + ArrayDequeState state = stack.CreateMemento(); + state.operation = Operation.pushBack; + storage.AddState(state); + + state = stack.CreateMemento(); + storage.AddState(stack.CreateMemento(), false); + } + + public void PopBack() + { + stack.PopBack(); + ArrayDequeState state = stack.CreateMemento(); + state.operation = Operation.popBack; + storage.AddState(state); + + state = stack.CreateMemento(); + storage.AddState(stack.CreateMemento(), false); + } + public void PopFront() + { + stack.PopFront(); + ArrayDequeState state = stack.CreateMemento(); + state.operation = Operation.popFront; + storage.AddState(state); + + state = stack.CreateMemento(); + storage.AddState(stack.CreateMemento(), false); + } + public bool IsEmpty() + { + return stack.IsEmpty(); + } + public StateStorage StepForward() + { + storage.StepForward(); + return storage; + } + + public StateStorage StepBackward() + { + storage.StepBackward(); + return storage; + } + + +} diff --git a/CourseWorkEreda копия/CourseWorkEreda.csproj b/CourseWorkEreda копия/CourseWorkEreda.csproj new file mode 100644 index 0000000..663fdb8 --- /dev/null +++ b/CourseWorkEreda копия/CourseWorkEreda.csproj @@ -0,0 +1,11 @@ + + + + WinExe + net8.0-windows + enable + true + enable + + + \ No newline at end of file diff --git a/CourseWorkEreda копия/CourseWorkEreda.sln b/CourseWorkEreda копия/CourseWorkEreda.sln new file mode 100644 index 0000000..b51f66f --- /dev/null +++ b/CourseWorkEreda копия/CourseWorkEreda.sln @@ -0,0 +1,32 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34607.119 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CourseWorkEreda", "CourseWorkEreda.csproj", "{55B3C967-1007-4AEE-8254-B934DF3AFCFB}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Элементы решения", "Элементы решения", "{E57086F2-9FE9-4275-B931-EB5C86B531F8}" + ProjectSection(SolutionItems) = preProject + ..\CourseWork_EredavkinRA\ArrayDequeParameters.cs = ..\CourseWork_EredavkinRA\ArrayDequeParameters.cs + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Resources", "Resources", "{A5D59235-7511-46C2-B531-57BF6E672C5F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {55B3C967-1007-4AEE-8254-B934DF3AFCFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {55B3C967-1007-4AEE-8254-B934DF3AFCFB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {55B3C967-1007-4AEE-8254-B934DF3AFCFB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {55B3C967-1007-4AEE-8254-B934DF3AFCFB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1B76AA47-1FCE-4D57-ADE4-85C7C7288F2C} + EndGlobalSection +EndGlobal diff --git a/CourseWorkEreda копия/FormInfo.Designer.cs b/CourseWorkEreda копия/FormInfo.Designer.cs new file mode 100644 index 0000000..54029cf --- /dev/null +++ b/CourseWorkEreda копия/FormInfo.Designer.cs @@ -0,0 +1,71 @@ +namespace CourseWorkEreda +{ + partial class FormInfo + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormInfo)); + richTextBox1 = new RichTextBox(); + buttonCloseInfoForm = new Button(); + SuspendLayout(); + // + // richTextBox1 + // + richTextBox1.Location = new Point(12, 12); + richTextBox1.Name = "richTextBox1"; + richTextBox1.Size = new Size(694, 138); + richTextBox1.TabIndex = 0; + richTextBox1.Text = resources.GetString("richTextBox1.Text"); + // + // buttonCloseInfoForm + // + buttonCloseInfoForm.Location = new Point(631, 178); + buttonCloseInfoForm.Name = "buttonCloseInfoForm"; + buttonCloseInfoForm.Size = new Size(75, 23); + buttonCloseInfoForm.TabIndex = 2; + buttonCloseInfoForm.Text = "Закрыть"; + buttonCloseInfoForm.UseVisualStyleBackColor = true; + buttonCloseInfoForm.Click += buttonCloseInfoForm_Click; + // + // FormInfo + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(739, 213); + Controls.Add(buttonCloseInfoForm); + Controls.Add(richTextBox1); + Name = "FormInfo"; + Text = "FormInfo"; + ResumeLayout(false); + } + + #endregion + + private RichTextBox richTextBox1; + private Button buttonCloseInfoForm; + } +} \ No newline at end of file diff --git a/CourseWorkEreda копия/FormInfo.cs b/CourseWorkEreda копия/FormInfo.cs new file mode 100644 index 0000000..9c267ba --- /dev/null +++ b/CourseWorkEreda копия/FormInfo.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CourseWorkEreda +{ + public partial class FormInfo : Form + { + public FormInfo() + { + InitializeComponent(); + } + + private void buttonCloseInfoForm_Click(object sender, EventArgs e) + { + Close(); + } + } +} diff --git a/CourseWorkEreda копия/FormInfo.resx b/CourseWorkEreda копия/FormInfo.resx new file mode 100644 index 0000000..71f9d75 --- /dev/null +++ b/CourseWorkEreda копия/FormInfo.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Дек (deque, double-ended queue) — универсальная структура данных, которая представляет собой последовательность элементов, у которой есть два конца. Причём добавление и удаление элементов может происходить как в начало, так и в конец структуры. +Абстрактный тип данных (АТД) — это математическая модель для типов данных, где тип данных определяется поведением (семантикой) с точки зрения пользователя данных. +АТД определяет набор функций, независимых от конкретной реализации типа, для оперирования его значениями. +В программировании абстрактные типы данных обычно представляются в виде интерфейсов, которые скрывают соответствующие реализации типов. + + \ No newline at end of file diff --git a/CourseWorkEreda копия/FormInput.Designer.cs b/CourseWorkEreda копия/FormInput.Designer.cs new file mode 100644 index 0000000..1877b8b --- /dev/null +++ b/CourseWorkEreda копия/FormInput.Designer.cs @@ -0,0 +1,86 @@ +namespace CourseWorkEreda +{ + partial class FormInput + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + labelAbout = new Label(); + numElement = new NumericUpDown(); + buttonAdd = new Button(); + ((System.ComponentModel.ISupportInitialize)numElement).BeginInit(); + SuspendLayout(); + // + // labelAbout + // + labelAbout.AutoSize = true; + labelAbout.Location = new Point(50, 21); + labelAbout.Name = "labelAbout"; + labelAbout.Size = new Size(94, 15); + labelAbout.TabIndex = 0; + labelAbout.Text = "Введите данные"; + labelAbout.Click += label1_Click; + // + // numElement + // + numElement.Location = new Point(23, 39); + numElement.Name = "numElement"; + numElement.Size = new Size(162, 23); + numElement.TabIndex = 1; + numElement.ValueChanged += numElement_ValueChanged; + // + // buttonAdd + // + buttonAdd.Location = new Point(23, 79); + buttonAdd.Name = "buttonAdd"; + buttonAdd.Size = new Size(151, 65); + buttonAdd.TabIndex = 2; + buttonAdd.Text = "Вставка нового Элемента"; + buttonAdd.UseVisualStyleBackColor = true; + buttonAdd.Click += buttonAdd_Click; + // + // FormInput + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(214, 184); + Controls.Add(buttonAdd); + Controls.Add(numElement); + Controls.Add(labelAbout); + Name = "FormInput"; + Text = "FormInput"; + ((System.ComponentModel.ISupportInitialize)numElement).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private Label labelAbout; + private NumericUpDown numElement; + private Button buttonAdd; + } +} \ No newline at end of file diff --git a/CourseWorkEreda копия/FormInput.cs b/CourseWorkEreda копия/FormInput.cs new file mode 100644 index 0000000..37b8a16 --- /dev/null +++ b/CourseWorkEreda копия/FormInput.cs @@ -0,0 +1,38 @@ +using CourseWork_EredavkinRA; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace CourseWorkEreda; + +public partial class FormInput : Form +{ + public event Action? PushClicked; + public FormInput() + { + InitializeComponent(); + } + + private void label1_Click(object sender, EventArgs e) + { + + } + + private void buttonAdd_Click(object sender, EventArgs e) + { + int element = (int)numElement.Value; + PushClicked?.Invoke(element); + Close(); + } + + private void numElement_ValueChanged(object sender, EventArgs e) + { + + } +} diff --git a/CourseWorkEreda копия/FormInput.resx b/CourseWorkEreda копия/FormInput.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/CourseWorkEreda копия/FormInput.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CourseWorkEreda копия/FormMain.Designer.cs b/CourseWorkEreda копия/FormMain.Designer.cs new file mode 100644 index 0000000..c3e897b --- /dev/null +++ b/CourseWorkEreda копия/FormMain.Designer.cs @@ -0,0 +1,240 @@ +namespace CourseWorkEreda +{ + partial class FormMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + pictureBox1 = new PictureBox(); + buttonPushFront = new Button(); + buttonpushBack = new Button(); + buttonpopFront = new Button(); + buttonpopBack = new Button(); + buttonEmpty = new Button(); + buttonInfo = new Button(); + buttonSave = new Button(); + buttonLoad = new Button(); + lstStackStates = new ListBox(); + buttonStepForward = new Button(); + buttonStepBack = new Button(); + button1 = new Button(); + splitter1 = new Splitter(); + label1 = new Label(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); + SuspendLayout(); + // + // pictureBox1 + // + pictureBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + pictureBox1.BorderStyle = BorderStyle.FixedSingle; + pictureBox1.Location = new Point(34, 12); + pictureBox1.Name = "pictureBox1"; + pictureBox1.Size = new Size(742, 544); + pictureBox1.TabIndex = 0; + pictureBox1.TabStop = false; + // + // buttonPushFront + // + buttonPushFront.Location = new Point(799, 41); + buttonPushFront.Name = "buttonPushFront"; + buttonPushFront.Size = new Size(226, 23); + buttonPushFront.TabIndex = 2; + buttonPushFront.Text = "pushFront"; + buttonPushFront.UseVisualStyleBackColor = true; + buttonPushFront.Click += buttonPushFront_Click; + // + // buttonpushBack + // + buttonpushBack.Location = new Point(801, 69); + buttonpushBack.Name = "buttonpushBack"; + buttonpushBack.Size = new Size(226, 23); + buttonpushBack.TabIndex = 3; + buttonpushBack.Text = "pushBack"; + buttonpushBack.UseVisualStyleBackColor = true; + buttonpushBack.Click += buttonpushBack_Click; + // + // buttonpopFront + // + buttonpopFront.Location = new Point(799, 99); + buttonpopFront.Name = "buttonpopFront"; + buttonpopFront.Size = new Size(226, 23); + buttonpopFront.TabIndex = 4; + buttonpopFront.Text = "popFront"; + buttonpopFront.UseVisualStyleBackColor = true; + buttonpopFront.Click += buttonpopFront_Click; + // + // buttonpopBack + // + buttonpopBack.Location = new Point(799, 128); + buttonpopBack.Name = "buttonpopBack"; + buttonpopBack.Size = new Size(226, 23); + buttonpopBack.TabIndex = 5; + buttonpopBack.Text = "popBack"; + buttonpopBack.UseVisualStyleBackColor = true; + buttonpopBack.Click += buttonpopBack_Click; + // + // buttonEmpty + // + buttonEmpty.Location = new Point(799, 157); + buttonEmpty.Name = "buttonEmpty"; + buttonEmpty.Size = new Size(226, 23); + buttonEmpty.TabIndex = 6; + buttonEmpty.Text = "Empty"; + buttonEmpty.UseVisualStyleBackColor = true; + buttonEmpty.Click += buttonEmpty_Click; + // + // buttonInfo + // + buttonInfo.Location = new Point(799, 186); + buttonInfo.Name = "buttonInfo"; + buttonInfo.Size = new Size(226, 23); + buttonInfo.TabIndex = 7; + buttonInfo.Text = "Информация"; + buttonInfo.UseVisualStyleBackColor = true; + buttonInfo.Click += buttonInfo_Click; + // + // buttonSave + // + buttonSave.Location = new Point(799, 215); + buttonSave.Name = "buttonSave"; + buttonSave.Size = new Size(226, 23); + buttonSave.TabIndex = 8; + buttonSave.Text = "Сохранение "; + buttonSave.UseVisualStyleBackColor = true; + buttonSave.Click += buttonSave_Click; + // + // buttonLoad + // + buttonLoad.Location = new Point(799, 244); + buttonLoad.Name = "buttonLoad"; + buttonLoad.Size = new Size(226, 23); + buttonLoad.TabIndex = 9; + buttonLoad.Text = "Загрузка"; + buttonLoad.UseVisualStyleBackColor = true; + buttonLoad.Click += buttonLoad_Click; + // + // lstStackStates + // + lstStackStates.FormattingEnabled = true; + lstStackStates.ItemHeight = 15; + lstStackStates.Location = new Point(828, 273); + lstStackStates.Name = "lstStackStates"; + lstStackStates.Size = new Size(176, 139); + lstStackStates.TabIndex = 10; + // + // buttonStepForward + // + buttonStepForward.Location = new Point(799, 456); + buttonStepForward.Name = "buttonStepForward"; + buttonStepForward.Size = new Size(100, 27); + buttonStepForward.TabIndex = 11; + buttonStepForward.Text = "Вперед"; + buttonStepForward.UseVisualStyleBackColor = true; + buttonStepForward.Click += buttonStepForward_Click; + // + // buttonStepBack + // + buttonStepBack.Location = new Point(925, 456); + buttonStepBack.Name = "buttonStepBack"; + buttonStepBack.Size = new Size(100, 27); + buttonStepBack.TabIndex = 12; + buttonStepBack.Text = "Назад"; + buttonStepBack.UseVisualStyleBackColor = true; + buttonStepBack.Click += buttonStepBack_Click; + // + // button1 + // + button1.Location = new Point(850, 502); + button1.Name = "button1"; + button1.Size = new Size(125, 23); + button1.TabIndex = 13; + button1.Text = "Обновить"; + button1.UseVisualStyleBackColor = true; + button1.Click += button1_Click; + // + // splitter1 + // + splitter1.Location = new Point(0, 0); + splitter1.Name = "splitter1"; + splitter1.Size = new Size(3, 577); + splitter1.TabIndex = 14; + splitter1.TabStop = false; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(870, 23); + label1.Name = "label1"; + label1.Size = new Size(86, 15); + label1.TabIndex = 15; + label1.Text = "Инструменты:"; + // + // FormMain + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1070, 577); + Controls.Add(label1); + Controls.Add(splitter1); + Controls.Add(button1); + Controls.Add(buttonStepBack); + Controls.Add(buttonStepForward); + Controls.Add(lstStackStates); + Controls.Add(buttonLoad); + Controls.Add(buttonSave); + Controls.Add(buttonInfo); + Controls.Add(buttonEmpty); + Controls.Add(buttonpopBack); + Controls.Add(buttonpopFront); + Controls.Add(buttonpushBack); + Controls.Add(buttonPushFront); + Controls.Add(pictureBox1); + Name = "FormMain"; + Text = "FormMain"; + ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private PictureBox pictureBox1; + private Button buttonPushFront; + private Button buttonpushBack; + private Button buttonpopFront; + private Button buttonpopBack; + private Button buttonEmpty; + private Button buttonInfo; + private Button buttonSave; + private Button buttonLoad; + private ListBox lstStackStates; + private Button buttonStepForward; + private Button buttonStepBack; + private Button button1; + private Splitter splitter1; + private Label label1; + } +} diff --git a/CourseWorkEreda копия/FormMain.cs b/CourseWorkEreda копия/FormMain.cs new file mode 100644 index 0000000..48f0d73 --- /dev/null +++ b/CourseWorkEreda копия/FormMain.cs @@ -0,0 +1,182 @@ +using CourseWork_EredavkinRA; +using System.Windows.Forms; + +namespace CourseWorkEreda +{ + + public partial class FormMain : Form + { + private ArrayManager stackManager; + private Visualizator _Visualizer; + public FormMain() + { + InitializeComponent(); + _Visualizer = new Visualizator(); + stackManager = new ArrayManager(new ArrayDequeParameters(10)); + + + } + + public void ExecuteOperation(Operation operation, int? element = null) + { + if (operation == Operation.pushFront && element.HasValue) + { + + FormInput pushForm = new FormInput(); + pushForm.PushClicked += HandlePushClicked; + pushForm.Show(); + } + else if (operation == Operation.popFront) + { + stackManager.PopFront(); + } + else if (operation == Operation.pushBack && element.HasValue) + { + FormInput pushForm = new FormInput(); + pushForm.PushClicked += HandleBackPushClicked; + pushForm.Show(); + + } + else if (operation == Operation.popBack) + { + stackManager.PopBack(); + } + UpdateStackView(stackManager.GetStorage()); + } + + public void HandlePushClicked(int element) + { + stackManager.FrontPush(element); + UpdateStackView(stackManager.GetStorage()); + } + + public void HandleBackPushClicked(int element) + { + stackManager.BackPush(element); + UpdateStackView(stackManager.GetStorage()); + } + + private void buttonPushFront_Click(object sender, EventArgs e) + { + int element = 0; + + Action pushAction = (element) => ExecuteOperation(Operation.pushFront, element); + pushAction(element); + _Visualizer.SetAddRectangleUp(true); + } + + + private void buttonpushBack_Click(object sender, EventArgs e) + { + int element = 0; // + Action pushAction = (element) => ExecuteOperation(Operation.pushBack, element); + pushAction(element); + _Visualizer.SetAddRectangleUp(false); + + } + + private void buttonpopFront_Click(object sender, EventArgs e) + { + ExecuteOperation(Operation.popFront); + UpdateStackView(stackManager.GetStorage()); + } + + private void buttonpopBack_Click(object sender, EventArgs e) + { + ExecuteOperation(Operation.popBack); + UpdateStackView(stackManager.GetStorage()); + } + + private void buttonEmpty_Click(object sender, EventArgs e) + { + if (stackManager.IsEmpty()) + { + MessageBox.Show(" !"); + } + else + { + MessageBox.Show(" ."); + } + } + + private void buttonInfo_Click(object sender, EventArgs e) + { + FormInfo informationForm = new FormInfo(); + informationForm.Show(); + UpdateStackView(stackManager.GetStorage()); + } + + private void buttonSave_Click(object sender, EventArgs e) + { + SaveFileDialog saveFileDialog = new SaveFileDialog(); + saveFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; + if (saveFileDialog.ShowDialog() == DialogResult.OK) + { + stackManager.storage.SaveToFile(saveFileDialog.FileName); + MessageBox.Show(" !"); + } + } + + private void buttonLoad_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog = new OpenFileDialog(); + openFileDialog.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"; + if (openFileDialog.ShowDialog() == DialogResult.OK) + { + stackManager.ClearStates(); + stackManager.storage.LoadFromFile(openFileDialog.FileName); + + // + ArrayDequeState? lastState = stackManager.storage.GetLastState(); + if (lastState != null) + { + //stackManager.SetState(lastState); + //UpdateStackView(); + } + + MessageBox.Show(" !"); + } + } + public void UpdateStackView(StateStorage stateStorage) + { + ArrayDequeState? currentState = stackManager.GetStates().LastOrDefault(); + if (currentState != null) + { + _Visualizer.Visualize(currentState, this); + UpdateStateList(); + } + } + private void UpdateStateList() + { + lstStackStates.Items.Clear(); + foreach (var state in stackManager.GetStates()) + { + lstStackStates.Items.Add(string.Join(",", state.Array)); + + } + } + + private void button1_Click(object sender, EventArgs e) + { + ArrayDequeState? currentState = stackManager.GetStates().LastOrDefault(); + if (currentState != null) + { + + _Visualizer.Visualize(currentState, this); + } + } + + private void buttonStepForward_Click(object sender, EventArgs e) + { + var storage = stackManager.StepForward(); + UpdateStackView(storage); + } + + private void buttonStepBack_Click(object sender, EventArgs e) + { + var storage = stackManager.StepBackward(); + UpdateStackView(storage); + } + + } +} diff --git a/CourseWorkEreda копия/FormMain.resx b/CourseWorkEreda копия/FormMain.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/CourseWorkEreda копия/FormMain.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CourseWorkEreda копия/Program.cs b/CourseWorkEreda копия/Program.cs new file mode 100644 index 0000000..1a5a81c --- /dev/null +++ b/CourseWorkEreda копия/Program.cs @@ -0,0 +1,17 @@ +namespace CourseWorkEreda +{ + internal static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + ApplicationConfiguration.Initialize(); + Application.Run(new FormMain()); + } + } +} \ No newline at end of file diff --git a/CourseWorkEreda копия/Properties/AssemblyInfo.cs b/CourseWorkEreda копия/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9a3e263 --- /dev/null +++ b/CourseWorkEreda копия/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("CourseWorkEreda")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("CourseWorkEreda")] +[assembly: AssemblyCopyright("Copyright © 2024")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("95dbc5de-0360-4961-b637-5021c9f271a6")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CourseWorkEreda копия/Properties/Resources.Designer.cs b/CourseWorkEreda копия/Properties/Resources.Designer.cs new file mode 100644 index 0000000..c207664 --- /dev/null +++ b/CourseWorkEreda копия/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace CourseWorkEreda.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CourseWorkEreda.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/CourseWorkEreda копия/Properties/Resources.resx b/CourseWorkEreda копия/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/CourseWorkEreda копия/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/CourseWorkEreda копия/Properties/Settings.Designer.cs b/CourseWorkEreda копия/Properties/Settings.Designer.cs new file mode 100644 index 0000000..feded8a --- /dev/null +++ b/CourseWorkEreda копия/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace CourseWorkEreda.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/CourseWorkEreda копия/Properties/Settings.settings b/CourseWorkEreda копия/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/CourseWorkEreda копия/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/CourseWorkEreda копия/Resources/Down.jpg b/CourseWorkEreda копия/Resources/Down.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d548b177988d716fb54713f6edbf0097885355e6 GIT binary patch literal 140395 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%0DmYZ3Hu`2x<6d0VF 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%0D?HW;$h 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 literal 0 HcmV?d00001 diff --git a/CourseWorkEreda копия/Resources/Up.jpg b/CourseWorkEreda копия/Resources/Up.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ccc2510139f36c5a8b53ce7ecdd5ca1b5c01b042 GIT binary patch literal 139784 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�>U}enlS&UH! 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 wSNeHrAg2ysmWG* states; + public int CurrentStateIndex; + public int Count => states.Count; + public StateStorage() + { + states = new List(); + CurrentStateIndex = 0; + } + public void AddState(ArrayDequeState state, bool nextState = true) + { + + if (nextState) + { + CurrentStateIndex++; + } + MessageBox.Show(CurrentStateIndex.ToString()); + states.Add(state); + } + public void ClearStates() + { + CurrentStateIndex--; + states.Clear(); + } + public IEnumerable GetStates() + { + + return states; + } + public void SaveToFile(string filePath) + { + using (StreamWriter writer = new StreamWriter(filePath)) + { + foreach (var state in states) + { + string line = string.Join(",", state.Array) + ";" + state.Top; + writer.WriteLine(line); + } + } + } + public void LoadFromFile(string filePath) + { + states.Clear(); + using (StreamReader reader = new StreamReader(filePath)) + { + string line; + while ((line = reader.ReadLine()) != null) + { + if (string.IsNullOrWhiteSpace(line)) + { + continue; + } + try + { + var parts = line.Split(';'); + int[] array = parts[0].Split(',').Select(int.Parse).ToArray(); + int top = int.Parse(parts[1]); + ArrayDequeState state = new ArrayDequeState(array, top); + states.Add(state); + } + catch (FormatException ex) + { + System.Diagnostics.Debug.WriteLine($"Error parsing line: {line}. Exception: {ex.Message}"); + } + } + } + CurrentStateIndex = states.Count > 0 ? states.Count - 1 : -1; + } + public ArrayDequeState? GetLastState() + { + return states.LastOrDefault(); + } + public ArrayDequeState? GetCurrentState() + { + if (CurrentStateIndex >= 0 && CurrentStateIndex < states.Count) + { + return states[CurrentStateIndex]; + } + return null; + } + public ArrayDequeState GetNextState() + { + MessageBox.Show(CurrentStateIndex + " " + (states.Count - 1)); + if (CurrentStateIndex < states.Count - 1) + { + CurrentStateIndex++; + MessageBox.Show(CurrentStateIndex.ToString()); + return states[CurrentStateIndex]; + } + return null; + } + public ArrayDequeState? GetPreviousState() + { + if (CurrentStateIndex > 0) + { + CurrentStateIndex--; + MessageBox.Show(CurrentStateIndex.ToString()); + + return states[CurrentStateIndex]; + } + return null; + } + + public int GetCurrentStateIndex() + { + return CurrentStateIndex; + } + public void StepForward() + { + if (CurrentStateIndex + 1 >= Count) return; + CurrentStateIndex++; + } + + public void StepBackward() + { + if (CurrentStateIndex == 0) return; + CurrentStateIndex--; + } + + } +} diff --git a/CourseWorkEreda копия/Visualizator.cs b/CourseWorkEreda копия/Visualizator.cs new file mode 100644 index 0000000..af4f334 --- /dev/null +++ b/CourseWorkEreda копия/Visualizator.cs @@ -0,0 +1,117 @@ +using CourseWork_EredavkinRA; +using System; +using System.Collections.Generic; +using System.Drawing.Drawing2D; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using static System.Windows.Forms.AxHost; + +namespace CourseWorkEreda; + +public class Visualizator + +{ + private bool addRectangleUp = false; + public void Visualize(ArrayDequeState state, FormMain form) + { + + Pen penArrow = new(Color.Black, 2f); + + PictureBox? pictureBox = form.Controls["pictureBox1"] as PictureBox; + + if (pictureBox == null) return; + + Bitmap bitmap = new Bitmap(pictureBox.Width, pictureBox.Height); + + using (Graphics graphics = Graphics.FromImage(bitmap)) + { + graphics.Clear(Color.White); + + int[] stackArray = state.Array; + int stackSize = state.Top + 1; + int rectangleWidth = 100; + int rectangleHeight = 50; + const int distanceBetweenElements = 10; + int x = 300; + int startY = 100; + if (state.operation != Operation.None) + { + graphics.FillRectangle(Brushes.Turquoise, 50, 50, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, 50, 50, rectangleWidth, rectangleHeight); + graphics.FillRectangle(Brushes.Turquoise, pictureBox.Width - 200, 50, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, pictureBox.Width - 200, 50, rectangleWidth, rectangleHeight); + + int lastRectangleY = startY + (stackSize - 1) * (rectangleHeight + distanceBetweenElements); + + + + graphics.FillRectangle(Brushes.Turquoise, 50, lastRectangleY + 100, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, 50, lastRectangleY + 100, rectangleWidth, rectangleHeight); + + graphics.FillRectangle(Brushes.Turquoise, pictureBox.Width - 200, lastRectangleY + 100, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, pictureBox.Width - 200, lastRectangleY + 100, rectangleWidth, rectangleHeight); + + + for (int i = 0; i < stackSize; i++) + { + + int y = startY + i * (rectangleHeight + distanceBetweenElements); + + graphics.FillRectangle(Brushes.Turquoise, x, y, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, x, y, rectangleWidth, rectangleHeight); + + string text = stackArray[i].ToString(); + using (Font font = new Font("Arial", 10)) + { + SizeF textSize = graphics.MeasureString(text, font); + float textX = x + (rectangleWidth - textSize.Width) / 2; + float textY = y + (rectangleHeight - textSize.Height) / 2; + graphics.DrawString(text, font, Brushes.Black, textX, textY); + } + } + } + else + { + graphics.FillRectangle(Brushes.Turquoise, 50, 50, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, 50, 50, rectangleWidth, rectangleHeight); + graphics.FillRectangle(Brushes.Turquoise, pictureBox.Width - 200, 50, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, pictureBox.Width - 200, 50, rectangleWidth, rectangleHeight); + + int lastRectangleY = startY + (stackSize - 1) * (rectangleHeight + distanceBetweenElements); + + graphics.FillRectangle(Brushes.Turquoise, 50, lastRectangleY + 100, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, 50, lastRectangleY + 100, rectangleWidth, rectangleHeight); + + graphics.FillRectangle(Brushes.Turquoise, pictureBox.Width - 200, lastRectangleY + 100, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, pictureBox.Width - 200, lastRectangleY + 100, rectangleWidth, rectangleHeight); + + for (int i = 0; i < stackSize; i++) + { + int y = startY + i * (rectangleHeight + distanceBetweenElements); + + graphics.FillRectangle(Brushes.Turquoise, x, y, rectangleWidth, rectangleHeight); + graphics.DrawRectangle(Pens.Black, x, y, rectangleWidth, rectangleHeight); + + string text = stackArray[i].ToString(); + using (Font font = new Font("Arial", 10)) + { + SizeF textSize = graphics.MeasureString(text, font); + float textX = x + (rectangleWidth - textSize.Width) / 2; + float textY = y + (rectangleHeight - textSize.Height) / 2; + graphics.DrawString(text, font, Brushes.Black, textX, textY); + } + } + } + + + } + + pictureBox.Image = bitmap; + } + public void SetAddRectangleUp(bool value) + { + addRectangleUp = value; + } +}