From b9af3a3cb245e5de3f5ef7b40497401dd3bd7d2b Mon Sep 17 00:00:00 2001 From: oleggitea Date: Mon, 18 Dec 2023 18:10:32 +0400 Subject: [PATCH] commit1 --- tasks/dunaev-oi/lab_6/Lab6/.gitignore | 484 +++++++++++++++++++ tasks/dunaev-oi/lab_6/Lab6/Alg1.cs | 46 ++ tasks/dunaev-oi/lab_6/Lab6/Alg2.cs | 90 ++++ tasks/dunaev-oi/lab_6/Lab6/Controller.cs | 95 ++++ tasks/dunaev-oi/lab_6/Lab6/Form1.Designer.cs | 222 +++++++++ tasks/dunaev-oi/lab_6/Lab6/Form1.cs | 90 ++++ tasks/dunaev-oi/lab_6/Lab6/Form1.resx | 123 +++++ tasks/dunaev-oi/lab_6/Lab6/Lab6.csproj | 11 + tasks/dunaev-oi/lab_6/Lab6/Lab6.sln | 25 + tasks/dunaev-oi/lab_6/Lab6/Program.cs | 17 + tasks/dunaev-oi/lab_6/README.md | 42 ++ tasks/dunaev-oi/lab_6/pic/1.png | Bin 0 -> 16045 bytes tasks/dunaev-oi/lab_6/pic/11x11№1.png | Bin 0 -> 20930 bytes tasks/dunaev-oi/lab_6/pic/11x11№2.png | Bin 0 -> 21006 bytes tasks/dunaev-oi/lab_6/pic/2.png | Bin 0 -> 16578 bytes tasks/dunaev-oi/lab_6/pic/5x5№1.png | Bin 0 -> 17234 bytes tasks/dunaev-oi/lab_6/pic/5x5№2.png | Bin 0 -> 17268 bytes tasks/dunaev-oi/lab_6/pic/8x8№1.png | Bin 0 -> 19477 bytes tasks/dunaev-oi/lab_6/pic/8x8№2.png | Bin 0 -> 19066 bytes 19 files changed, 1245 insertions(+) create mode 100644 tasks/dunaev-oi/lab_6/Lab6/.gitignore create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Alg1.cs create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Alg2.cs create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Controller.cs create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Form1.Designer.cs create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Form1.cs create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Form1.resx create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Lab6.csproj create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Lab6.sln create mode 100644 tasks/dunaev-oi/lab_6/Lab6/Program.cs create mode 100644 tasks/dunaev-oi/lab_6/README.md create mode 100644 tasks/dunaev-oi/lab_6/pic/1.png create mode 100644 tasks/dunaev-oi/lab_6/pic/11x11№1.png create mode 100644 tasks/dunaev-oi/lab_6/pic/11x11№2.png create mode 100644 tasks/dunaev-oi/lab_6/pic/2.png create mode 100644 tasks/dunaev-oi/lab_6/pic/5x5№1.png create mode 100644 tasks/dunaev-oi/lab_6/pic/5x5№2.png create mode 100644 tasks/dunaev-oi/lab_6/pic/8x8№1.png create mode 100644 tasks/dunaev-oi/lab_6/pic/8x8№2.png diff --git a/tasks/dunaev-oi/lab_6/Lab6/.gitignore b/tasks/dunaev-oi/lab_6/Lab6/.gitignore new file mode 100644 index 0000000..104b544 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/.gitignore @@ -0,0 +1,484 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from `dotnet new gitignore` + +# dotenv files +.env + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml +.idea + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# Vim temporary swap files +*.swp diff --git a/tasks/dunaev-oi/lab_6/Lab6/Alg1.cs b/tasks/dunaev-oi/lab_6/Lab6/Alg1.cs new file mode 100644 index 0000000..0b51bb2 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Alg1.cs @@ -0,0 +1,46 @@ +namespace Lab6 +{ + public class Alg1 + { + public int Begin(int[,] matrix) + { + return CalculateDeterminant(matrix); + } + + static int CalculateDeterminant(int[,] matrix) + { + int n = matrix.GetLength(0); + + if (n == 1) + { + return matrix[0, 0]; + } + + int determinant = 0; + + for (int j = 0; j < n; j++) + { + int[,] submatrix = new int[n - 1, n - 1]; + + for (int i = 1; i < n; i++) + { + for (int k = 0; k < n; k++) + { + if (k < j) + { + submatrix[i - 1, k] = matrix[i, k]; + } + else if (k > j) + { + submatrix[i - 1, k - 1] = matrix[i, k]; + } + } + } + + determinant += (int)Math.Pow(-1, j) * matrix[0, j] * CalculateDeterminant(submatrix); + } + + return determinant; + } + } +} diff --git a/tasks/dunaev-oi/lab_6/Lab6/Alg2.cs b/tasks/dunaev-oi/lab_6/Lab6/Alg2.cs new file mode 100644 index 0000000..39f2c78 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Alg2.cs @@ -0,0 +1,90 @@ +using System.Diagnostics.CodeAnalysis; +using System.Drawing.Drawing2D; + +namespace Lab6 +{ + public class Alg2 + { + public double Begin(double[,] matrixA, int threadCount) + { + int size = matrixA.GetLength(0); + + if (size == 1) + { + return matrixA[0, 0]; + } + else if (size == 2) + { + return matrixA[0, 0] * matrixA[1, 1] - matrixA[0, 1] * matrixA[1, 0]; + } + else + { + double determinant = 0; + object lockObject = new object(); + + Parallel.For(0, size, new ParallelOptions { MaxDegreeOfParallelism = threadCount }, i => + { + double[,] subMatrix = GetSubMatrix(matrixA, i); + double subDeterminant = matrixA[0, i] * Determinant(subMatrix); + + lock (lockObject) + { + determinant += Math.Pow(-1, i) * subDeterminant; + } + }); + + return determinant; + } + } + + static double[,] GetSubMatrix(double[,] matrix, int columnIndex) + { + int size = matrix.GetLength(0); + double[,] subMatrix = new double[size - 1, size - 1]; + + for (int i = 1; i < size; i++) + { + for (int j = 0; j < size; j++) + { + if (j < columnIndex) + { + subMatrix[i - 1, j] = matrix[i, j]; + } + else if (j > columnIndex) + { + subMatrix[i - 1, j - 1] = matrix[i, j]; + } + } + } + + return subMatrix; + } + + static double Determinant(double[,] matrix) + { + int size = matrix.GetLength(0); + + if (size == 1) + { + return matrix[0, 0]; + } + else if (size == 2) + { + return matrix[0, 0] * matrix[1, 1] - matrix[0, 1] * matrix[1, 0]; + } + else + { + double determinant = 0; + + for (int i = 0; i < size; i++) + { + double[,] subMatrix = GetSubMatrix(matrix, i); + + determinant += Math.Pow(-1, i) * matrix[0, i] * Determinant(subMatrix); + } + + return determinant; + } + } + } +} \ No newline at end of file diff --git a/tasks/dunaev-oi/lab_6/Lab6/Controller.cs b/tasks/dunaev-oi/lab_6/Lab6/Controller.cs new file mode 100644 index 0000000..ff3742c --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Controller.cs @@ -0,0 +1,95 @@ +using System.Drawing; + +namespace Lab6 +{ + public class Controller + { + public double[,] ConvertArray(int[,] intArray) + { + int rows = intArray.GetLength(0); + int cols = intArray.GetLength(1); + + double[,] doubleArray = new double[rows, cols]; + + for (int i = 0; i < rows; i++) + { + for (int j = 0; j < cols; j++) + { + doubleArray[i, j] = (double)intArray[i, j]; + } + } + + return doubleArray; + } + + public string PrintResultMatrix(int[,] result) + { + string resultString = ""; + + for (int i = 0; i < result.GetLength(0); i++) + { + for (int j = 0; j < result.GetLength(1); j++) + { + resultString += result[i, j]; + if (j != result.GetLength(1) - 1) + { + resultString += " "; + } + } + resultString += Environment.NewLine; + } + + return resultString; + } + + public int[,] GetMatrixFromTextbox(string inputText) + { + string[] lines = inputText.Split(Environment.NewLine); + + int numRows = lines.Length; + int numCol = lines[0].Split(' ').Length; + + int[,] matrix = new int[numRows, numCol]; + + for (int i = 0; i < numRows; i++) + { + string[] elements = lines[i].Split(' '); + + for (int j = 0; j < numCol; j++) + { + matrix[i, j] = int.Parse(elements[j]); + } + } + return matrix; + } + + public string GetTextFromFile(string filePath) + { + string text = ""; + + using (StreamReader sr = new StreamReader(filePath)) + { + text = sr.ReadToEnd(); + } + + return text; + } + + public int[,] GenerateNewMatrix(int count) + { + Random random = new Random(); + + int[,] matrix = new int[count, count]; + + for (int i = 0; i < count; i++) + { + for (int j = 0; j < count; j++) + { + matrix[i, j] = random.Next(1, 5); + } + } + + return matrix; + } + } +} diff --git a/tasks/dunaev-oi/lab_6/Lab6/Form1.Designer.cs b/tasks/dunaev-oi/lab_6/Lab6/Form1.Designer.cs new file mode 100644 index 0000000..05b9a84 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Form1.Designer.cs @@ -0,0 +1,222 @@ +namespace Lab6 +{ + partial class Form1 + { + /// + /// 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() + { + textBoxMatrix1 = new TextBox(); + textBoxResult = new TextBox(); + buttonAlg1 = new Button(); + buttonAlg2 = new Button(); + openFileDialog1 = new OpenFileDialog(); + label3 = new Label(); + labelResultTime = new Label(); + label4 = new Label(); + countStream = new NumericUpDown(); + buttonGenerateMatrix1 = new Button(); + label5 = new Label(); + genCountRowCol = new NumericUpDown(); + button1 = new Button(); + label1 = new Label(); + ((System.ComponentModel.ISupportInitialize)countStream).BeginInit(); + ((System.ComponentModel.ISupportInitialize)genCountRowCol).BeginInit(); + SuspendLayout(); + // + // textBoxMatrix1 + // + textBoxMatrix1.Location = new Point(58, 48); + textBoxMatrix1.Multiline = true; + textBoxMatrix1.Name = "textBoxMatrix1"; + textBoxMatrix1.Size = new Size(565, 274); + textBoxMatrix1.TabIndex = 0; + // + // textBoxResult + // + textBoxResult.Location = new Point(833, 48); + textBoxResult.Multiline = true; + textBoxResult.Name = "textBoxResult"; + textBoxResult.Size = new Size(258, 40); + textBoxResult.TabIndex = 1; + // + // buttonAlg1 + // + buttonAlg1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); + buttonAlg1.Location = new Point(833, 186); + buttonAlg1.Name = "buttonAlg1"; + buttonAlg1.Size = new Size(258, 40); + buttonAlg1.TabIndex = 2; + buttonAlg1.Text = "Обычный алгоритм"; + buttonAlg1.UseVisualStyleBackColor = true; + buttonAlg1.Click += buttonAlg1_Click; + // + // buttonAlg2 + // + buttonAlg2.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); + buttonAlg2.Location = new Point(833, 232); + buttonAlg2.Name = "buttonAlg2"; + buttonAlg2.Size = new Size(258, 39); + buttonAlg2.TabIndex = 8; + buttonAlg2.Text = "Паралелльный алгоритм"; + buttonAlg2.UseVisualStyleBackColor = true; + buttonAlg2.Click += buttonAlg2_Click; + // + // openFileDialog1 + // + openFileDialog1.FileName = "openFileDialog1"; + // + // label3 + // + label3.AutoSize = true; + label3.Font = new Font("Segoe UI", 15.75F, FontStyle.Regular, GraphicsUnit.Point); + label3.Location = new Point(23, 370); + label3.Name = "label3"; + label3.Size = new Size(111, 30); + label3.TabIndex = 9; + label3.Text = "Результат:"; + // + // labelResultTime + // + labelResultTime.AutoSize = true; + labelResultTime.Font = new Font("Segoe UI", 15.75F, FontStyle.Regular, GraphicsUnit.Point); + labelResultTime.Location = new Point(165, 370); + labelResultTime.Name = "labelResultTime"; + labelResultTime.Size = new Size(0, 30); + labelResultTime.TabIndex = 10; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(833, 129); + label4.Name = "label4"; + label4.Size = new Size(123, 15); + label4.TabIndex = 12; + label4.Text = "Количество потоков:"; + // + // countStream + // + countStream.Location = new Point(1007, 127); + countStream.Maximum = new decimal(new int[] { 10, 0, 0, 0 }); + countStream.Minimum = new decimal(new int[] { 1, 0, 0, 0 }); + countStream.Name = "countStream"; + countStream.Size = new Size(66, 23); + countStream.TabIndex = 13; + countStream.Value = new decimal(new int[] { 4, 0, 0, 0 }); + // + // buttonGenerateMatrix1 + // + buttonGenerateMatrix1.Location = new Point(268, 10); + buttonGenerateMatrix1.Name = "buttonGenerateMatrix1"; + buttonGenerateMatrix1.Size = new Size(122, 32); + buttonGenerateMatrix1.TabIndex = 14; + buttonGenerateMatrix1.Text = "Сгенерировать"; + buttonGenerateMatrix1.UseVisualStyleBackColor = true; + buttonGenerateMatrix1.Click += buttonGenerateMatrix1_Click; + // + // label5 + // + label5.AutoSize = true; + label5.Location = new Point(833, 100); + label5.Name = "label5"; + label5.Size = new Size(166, 15); + label5.TabIndex = 16; + label5.Text = "Размерность при генерации:"; + // + // genCountRowCol + // + genCountRowCol.Location = new Point(1007, 98); + genCountRowCol.Maximum = new decimal(new int[] { 500, 0, 0, 0 }); + genCountRowCol.Minimum = new decimal(new int[] { 2, 0, 0, 0 }); + genCountRowCol.Name = "genCountRowCol"; + genCountRowCol.Size = new Size(66, 23); + genCountRowCol.TabIndex = 17; + genCountRowCol.Value = new decimal(new int[] { 3, 0, 0, 0 }); + // + // button1 + // + button1.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); + button1.Location = new Point(833, 295); + button1.Name = "button1"; + button1.Size = new Size(258, 46); + button1.TabIndex = 22; + button1.Text = "Очистить матрицы"; + button1.UseVisualStyleBackColor = true; + button1.Click += button1_Click; + // + // label1 + // + label1.AutoSize = true; + label1.Font = new Font("Segoe UI", 15.75F, FontStyle.Regular, GraphicsUnit.Point); + label1.Location = new Point(833, 12); + label1.Name = "label1"; + label1.Size = new Size(240, 30); + label1.TabIndex = 23; + label1.Text = "Детерминант матрицы:"; + // + // Form1 + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1132, 534); + Controls.Add(label1); + Controls.Add(button1); + Controls.Add(genCountRowCol); + Controls.Add(label5); + Controls.Add(buttonGenerateMatrix1); + Controls.Add(countStream); + Controls.Add(label4); + Controls.Add(labelResultTime); + Controls.Add(label3); + Controls.Add(buttonAlg2); + Controls.Add(buttonAlg1); + Controls.Add(textBoxResult); + Controls.Add(textBoxMatrix1); + Name = "Form1"; + Text = "Перемножение матриц: Дунаев О.И. ИСЭбд-41"; + ((System.ComponentModel.ISupportInitialize)countStream).EndInit(); + ((System.ComponentModel.ISupportInitialize)genCountRowCol).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private TextBox textBoxMatrix1; + private TextBox textBoxResult; + private Button buttonAlg1; + private Button buttonAlg2; + private OpenFileDialog openFileDialog1; + private Label label3; + private Label labelResultTime; + private Label label4; + private NumericUpDown countStream; + private Button buttonGenerateMatrix1; + private Label label5; + private NumericUpDown genCountRowCol; + private Button button1; + private Label label1; + } +} \ No newline at end of file diff --git a/tasks/dunaev-oi/lab_6/Lab6/Form1.cs b/tasks/dunaev-oi/lab_6/Lab6/Form1.cs new file mode 100644 index 0000000..40bbae6 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Form1.cs @@ -0,0 +1,90 @@ +using System.Diagnostics; + +namespace Lab6 +{ + public partial class Form1 : Form + { + public Controller service; + public Alg1 Alg1; + public Alg2 Alg2; + public Stopwatch stopwatch; + public int[,] matrixA; + + public Form1() + { + InitializeComponent(); + this.service = new Controller(); + this.Alg1 = new Alg1(); + this.Alg2 = new Alg2(); + this.stopwatch = new Stopwatch(); + } + + private void buttonAlg1_Click(object sender, EventArgs e) + { + try + { + stopwatch.Start(); + int result = Alg1.Begin(matrixA); + stopwatch.Stop(); + + labelResultTime.Text = "" + stopwatch.Elapsed; + textBoxResult.Text = Convert.ToString(result); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + stopwatch.Reset(); + } + + private void buttonAlg2_Click(object sender, EventArgs e) + { + try + { + double[,] doubleMatrix = service.ConvertArray(matrixA); + + stopwatch.Start(); + textBoxResult.Text = Convert.ToString(Alg2.Begin(doubleMatrix, (int)countStream.Value)); + stopwatch.Stop(); + + labelResultTime.Text = "" + stopwatch.Elapsed; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + stopwatch.Reset(); + } + + private void buttonLoadMatrix1_Click(object sender, EventArgs e) + { + openFileDialog1.ShowDialog(); + string filePath = openFileDialog1.FileName; + string result = service.GetTextFromFile(filePath); + + textBoxMatrix1.Text = result; + + matrixA = service.GetMatrixFromTextbox(result); + + } + + private void buttonGenerateMatrix1_Click(object sender, EventArgs e) + { + matrixA = service.GenerateNewMatrix((int)genCountRowCol.Value); + + + textBoxMatrix1.Text = service.PrintResultMatrix(matrixA); + + } + + private void button1_Click(object sender, EventArgs e) + { + textBoxMatrix1.Text = ""; + textBoxResult.Text = ""; + matrixA = null; + + } + + + } +} \ No newline at end of file diff --git a/tasks/dunaev-oi/lab_6/Lab6/Form1.resx b/tasks/dunaev-oi/lab_6/Lab6/Form1.resx new file mode 100644 index 0000000..9633d40 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Form1.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 7, 19 + + \ No newline at end of file diff --git a/tasks/dunaev-oi/lab_6/Lab6/Lab6.csproj b/tasks/dunaev-oi/lab_6/Lab6/Lab6.csproj new file mode 100644 index 0000000..b57c89e --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Lab6.csproj @@ -0,0 +1,11 @@ + + + + WinExe + net6.0-windows + enable + true + enable + + + \ No newline at end of file diff --git a/tasks/dunaev-oi/lab_6/Lab6/Lab6.sln b/tasks/dunaev-oi/lab_6/Lab6/Lab6.sln new file mode 100644 index 0000000..5dfa3f4 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Lab6.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32811.315 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lab6", "Lab6.csproj", "{5E467820-7298-4466-AD82-CEDEB780CA68}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5E467820-7298-4466-AD82-CEDEB780CA68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5E467820-7298-4466-AD82-CEDEB780CA68}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5E467820-7298-4466-AD82-CEDEB780CA68}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5E467820-7298-4466-AD82-CEDEB780CA68}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7933D480-E7B1-4658-8726-83CCD3BED00D} + EndGlobalSection +EndGlobal diff --git a/tasks/dunaev-oi/lab_6/Lab6/Program.cs b/tasks/dunaev-oi/lab_6/Lab6/Program.cs new file mode 100644 index 0000000..59d7697 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/Lab6/Program.cs @@ -0,0 +1,17 @@ +namespace Lab6 +{ + 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 Form1()); + } + } +} \ No newline at end of file diff --git a/tasks/dunaev-oi/lab_6/README.md b/tasks/dunaev-oi/lab_6/README.md new file mode 100644 index 0000000..06ab1c0 --- /dev/null +++ b/tasks/dunaev-oi/lab_6/README.md @@ -0,0 +1,42 @@ +# Отчет по лабораторной работе №6 + +Выполнил студент гр. ИСЭбд-41 Дунаев О.И. + +## Создание приложения + +Выбрал язык C#, Windows Forms. + +Приложение имеет поле ввода матрицы, в которое можно через пробел вносить элементы матрицы. При необходимости можно сгенерировать матрицу указав её размерность . При необходимости можно очистить матрицу и определитель. Количество потоков в параллельном алгоритме регулируется в соответствующем поле. + +Попробуем запустить обычный и паралелльный алгоритмы на матрицах 3х3 и зафиксировать результат выполнения по времени. + +![](pic/1.png) +![](pic/2.png) + + + +## Бенчмарки + +Протестируем обычный и параллельный алгоритм определение детерминанта на различной размерности матрицы. + +В ходе экспериментов было установлено, что обработка матрицы размеров больше 12х12 занимает слишком много времени в обычном алгоритме, поэтому для тестирования возьмем матрицы 5х5, 8х8 и 11х11. + +Сверху отображен результат обычного алгоритма, снизу паралелльного. + +Матрица 5х5 + +![](pic/5x5№1.png) +![](pic/5x5№2.png) + +Матрицы 8x8 + +![](pic/8x8№1.png) +![](pic/8x8№2.png) + +Матрицы 12х12 + +![](pic/12x12№1.png) +![](pic/12x12№2.png) + +Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций. Если операций не так много, то обычный алгоритм справляется быстрее. + diff --git a/tasks/dunaev-oi/lab_6/pic/1.png b/tasks/dunaev-oi/lab_6/pic/1.png new file mode 100644 index 0000000000000000000000000000000000000000..8d91216a1a9ba578a818aff4b8647e435beb40f6 GIT binary patch literal 16045 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 j-N&0qb9 literal 0 HcmV?d00001 diff --git a/tasks/dunaev-oi/lab_6/pic/11x11№1.png b/tasks/dunaev-oi/lab_6/pic/11x11№1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9414ecc98e55e72b52bba3b6bba91fffa812695 GIT binary patch literal 20930 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%0Dot-hq9$BYjJ-L<+01}(WM~9{7 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 XFuJ|;E5~&mkWW2b{an^LB{Ts5Dm)Ei literal 0 HcmV?d00001 diff --git a/tasks/dunaev-oi/lab_6/pic/2.png b/tasks/dunaev-oi/lab_6/pic/2.png new file mode 100644 index 0000000000000000000000000000000000000000..03cdee5a44c21ca3dde9c30e5ecef890e622c778 GIT binary patch literal 16578 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

dK4yM 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 P*P?Yt|90WcNB{V53P#{f literal 0 HcmV?d00001 diff --git a/tasks/dunaev-oi/lab_6/pic/8x8№1.png b/tasks/dunaev-oi/lab_6/pic/8x8№1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4a6a7f08ff0ed897d3ce851838dbde2916e9cb GIT binary patch literal 19477 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 NJk))FzW3yp{{bdK)1d$W literal 0 HcmV?d00001 diff --git a/tasks/dunaev-oi/lab_6/pic/8x8№2.png b/tasks/dunaev-oi/lab_6/pic/8x8№2.png new file mode 100644 index 0000000000000000000000000000000000000000..85d14f8e85bafe14bb87a415cdf9fbc795d0b219 GIT binary patch literal 19066 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 literal 0 HcmV?d00001 -- 2.25.1