commit 30c54f92b130244ab49eb0f3bdd177d1da08e62e Author: root Date: Fri Nov 29 23:29:09 2024 +0000 Initial commit diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2840b94 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,7 @@ + FROM jenkins/jenkins:lts + + USER root + RUN apt-get update && apt-get install -y docker.io && apt-get clean && rm -rf /var/lib/apt/lists/* + + USER jenkins + diff --git a/MaxElementAboveDiagonal.Tests/MaxElementAboveDiagonal.Tests.csproj b/MaxElementAboveDiagonal.Tests/MaxElementAboveDiagonal.Tests.csproj new file mode 100644 index 0000000..3e23433 --- /dev/null +++ b/MaxElementAboveDiagonal.Tests/MaxElementAboveDiagonal.Tests.csproj @@ -0,0 +1,27 @@ + + + + net6.0 + enable + + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/MaxElementAboveDiagonal.Tests/UnitTest1.cs b/MaxElementAboveDiagonal.Tests/UnitTest1.cs new file mode 100644 index 0000000..8180ae8 --- /dev/null +++ b/MaxElementAboveDiagonal.Tests/UnitTest1.cs @@ -0,0 +1,17 @@ +using Xunit; + +namespace MaxElementAboveDiagonal.Tests; + + public class MatrixTests + { + [Fact] + public void TestFindMaxAboveDiagonal() + { + int[,] matrix = { + { 1, 2, 3 }, + { 4, 5, 6 }, + { 7, 8, 9 } + }; + Assert.Equal(6, Program.FindMaxAboveDiagonal(matrix)); + } + } diff --git a/MaxElementAboveDiagonal/Dockerfile b/MaxElementAboveDiagonal/Dockerfile new file mode 100644 index 0000000..136c1aa --- /dev/null +++ b/MaxElementAboveDiagonal/Dockerfile @@ -0,0 +1,12 @@ +# Dockerfile +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /app +COPY *.csproj ./ +RUN dotnet restore +COPY . ./ +RUN dotnet publish -c Release -o out + +FROM mcr.microsoft.com/dotnet/runtime:6.0 AS final +WORKDIR /app +COPY --from=build /app/out . +ENTRYPOINT ["dotnet", "MaxElementAboveDiagonal.dll"] diff --git a/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj b/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj new file mode 100644 index 0000000..74abf5c --- /dev/null +++ b/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj @@ -0,0 +1,10 @@ + + + + Exe + net6.0 + enable + enable + + + diff --git a/MaxElementAboveDiagonal/Program.cs b/MaxElementAboveDiagonal/Program.cs new file mode 100644 index 0000000..f2817dc --- /dev/null +++ b/MaxElementAboveDiagonal/Program.cs @@ -0,0 +1,68 @@ + using System; + + namespace MaxElementAboveDiagonal + { + class Program + { + static void Main(string[] args) + { + int size = 5; // Размер матрицы + + int[,] matrix = GenerateRandomMatrix(size); + PrintMatrix(matrix); + int maxElement = FindMaxAboveDiagonal(matrix); + Console.WriteLine($"Максимальный элемент выше главной диагонали: {maxElement}"); + } + + static int[,] GenerateRandomMatrix(int size) + { + Random rand = new Random(); + int[,] matrix = new int[size, size]; + + for (int i = 0; i < size; i++) + { + for (int j = 0; j < size; j++) + { + matrix[i, j] = rand.Next(1, 101); // Случайные числа от 1 до 100 + } + } + + return matrix; + } + + static void PrintMatrix(int[,] matrix) + { + int size = matrix.GetLength(0); + + for (int i = 0; i < size; i++) + { + for (int j = 0; j < size; j++) + { + Console.Write($"{matrix[i, j]} "); + } + Console.WriteLine(); + } + } + + static int FindMaxAboveDiagonal(int[,] matrix) + { + int size = matrix.GetLength(0); + int max = int.MinValue; + + for (int i = 0; i < size; i++) + { + for (int j = i + 1; j < size; j++) // Ищем элементы выше главной диагонали + { + if (matrix[i, j] > max) + { + max = matrix[i, j]; + } + } + } + + return max; + } + } + } + + diff --git a/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.dgspec.json b/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.dgspec.json new file mode 100644 index 0000000..3cfba44 --- /dev/null +++ b/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.dgspec.json @@ -0,0 +1,60 @@ +{ + "format": 1, + "restore": { + "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj": {} + }, + "projects": { + "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj", + "projectName": "MaxElementAboveDiagonal", + "projectPath": "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj", + "packagesPath": "/root/.nuget/packages/", + "outputPath": "/root/matrix/MaxElementAboveDiagonal/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/root/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/6.0.135/RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.g.props b/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.g.props new file mode 100644 index 0000000..7267653 --- /dev/null +++ b/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /root/.nuget/packages/ + /root/.nuget/packages/ + PackageReference + 6.0.6 + + + + + \ No newline at end of file diff --git a/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.g.targets b/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/MaxElementAboveDiagonal/obj/MaxElementAboveDiagonal.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/MaxElementAboveDiagonal/obj/project.assets.json b/MaxElementAboveDiagonal/obj/project.assets.json new file mode 100644 index 0000000..b28070b --- /dev/null +++ b/MaxElementAboveDiagonal/obj/project.assets.json @@ -0,0 +1,65 @@ +{ + "version": 3, + "targets": { + "net6.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net6.0": [] + }, + "packageFolders": { + "/root/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj", + "projectName": "MaxElementAboveDiagonal", + "projectPath": "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj", + "packagesPath": "/root/.nuget/packages/", + "outputPath": "/root/matrix/MaxElementAboveDiagonal/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/root/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net6.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net6.0": { + "targetAlias": "net6.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/usr/lib/dotnet/sdk/6.0.135/RuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/MaxElementAboveDiagonal/obj/project.nuget.cache b/MaxElementAboveDiagonal/obj/project.nuget.cache new file mode 100644 index 0000000..4c197ca --- /dev/null +++ b/MaxElementAboveDiagonal/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "8zZAWzEzCaGQxrSoPp6LvimWHLWa9gwirNhnnVGFO+fY0ZfwcdCyDQevOI/iNKdyNo85jAlmSIVhloIsb+lHDA==", + "success": true, + "projectFilePath": "/root/matrix/MaxElementAboveDiagonal/MaxElementAboveDiagonal.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/max-element-app.tar b/max-element-app.tar new file mode 100644 index 0000000..a624054 Binary files /dev/null and b/max-element-app.tar differ