diff --git a/Program.cs b/Program.cs index 549f274..b1f66b6 100644 --- a/Program.cs +++ b/Program.cs @@ -1,9 +1,112 @@ namespace insertion_sort; -class Program -{ - static void Main(string[] args) - { - Console.WriteLine("Hello, World!"); +class Program { + const int dimensione = 10; + static void Main(string[] args) { + Console.Clear(); + //dichiarazione e inizializzazione variabili + int scelta; + int[] array = null; + bool opzione1 = false, opzione3 = false; + + //menu + do { + Console.WriteLine("Scegliere un'opzione:"); + Console.WriteLine("1. Crea array casuale"); + Console.WriteLine("2. Mostra array casuale"); + Console.WriteLine("3. Riordina array casuale"); + Console.WriteLine("4. Mostra array ordinato"); + Console.WriteLine("0. Esci"); + Console.Write("Scelta: "); + scelta = Convert.ToInt32(Console.ReadLine()); + + + switch (scelta) { + case 0: + Console.Clear(); + break; + case 1: + Console.Clear(); + array = CreaArrayCasuale(); + opzione1 = true; + Pausa(); + break; + case 2: + Console.Clear(); + if (opzione1) { + StampaArray(array); + } + else { + Console.WriteLine("Bisogna creare l'array casuale prima di mostrarlo"); + } + Pausa(); + break; + case 3: + Console.Clear(); + if (opzione1) { + OrdinaArray(array); + } + else { + Console.WriteLine("Bisogna creare l'array casuale prima di ordinarlo"); + } + opzione3 = true; + Pausa(); + break; + case 4: + Console.Clear(); + if (opzione3) { + StampaArray(array); + } + else { + Console.WriteLine("Bisogna creare l'array casuale prima di mostrarlo"); + } + Pausa(); + break; + default: + Console.WriteLine("Errore: scelta non valida"); + Pausa(); + break; + } + } + while (scelta != 0); } -} + static void Pausa() { + Console.WriteLine("Premere un tasto per continuare. . ."); + Console.ReadKey(); + Console.Clear(); + } + static void StampaArray(int[] p_insieme) { + for (int j = 0; j < p_insieme.Length; j++) { + Console.WriteLine("Elemento " + j + ": " + p_insieme[j]); + } + } + static int[] CreaArrayCasuale() { + //dichiarazione e inizializzazione variabili + const int maxLength = 10; + Random caso = new Random(); + int[] ritorno = new int[dimensione]; + + for (int i = 0; i < dimensione; i++) { + ritorno[i] = caso.Next(maxLength);//per ogni posizione di ritorno assegno un valore a caso (metodo Random.Next) + } + return ritorno; + } + static void OrdinaArray(int[] p_array) { + int k, temp; + + for (int i = 0; i < dimensione; i++) { + k = dimensione - i; + do { + if (!(k == dimensione || k < 0 || k - 1 < 0)) { + if (p_array[k] < p_array[k - 1]) { + temp = p_array[k]; + p_array[k] = p_array[k - 1]; + p_array[k - 1] = temp; + } + } + k--; + } + while (k > 0); + } + } +} \ No newline at end of file diff --git a/bin/Debug/net9.0/insertion_sort b/bin/Debug/net9.0/insertion_sort new file mode 100755 index 0000000..8bc32b1 Binary files /dev/null and b/bin/Debug/net9.0/insertion_sort differ diff --git a/bin/Debug/net9.0/insertion_sort.deps.json b/bin/Debug/net9.0/insertion_sort.deps.json new file mode 100644 index 0000000..242ad1a --- /dev/null +++ b/bin/Debug/net9.0/insertion_sort.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v9.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v9.0": { + "insertion_sort/1.0.0": { + "runtime": { + "insertion_sort.dll": {} + } + } + } + }, + "libraries": { + "insertion_sort/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/bin/Debug/net9.0/insertion_sort.dll b/bin/Debug/net9.0/insertion_sort.dll new file mode 100644 index 0000000..327bfe2 Binary files /dev/null and b/bin/Debug/net9.0/insertion_sort.dll differ diff --git a/bin/Debug/net9.0/insertion_sort.pdb b/bin/Debug/net9.0/insertion_sort.pdb new file mode 100644 index 0000000..a1868f0 Binary files /dev/null and b/bin/Debug/net9.0/insertion_sort.pdb differ diff --git a/bin/Debug/net9.0/insertion_sort.runtimeconfig.json b/bin/Debug/net9.0/insertion_sort.runtimeconfig.json new file mode 100644 index 0000000..b19c3c8 --- /dev/null +++ b/bin/Debug/net9.0/insertion_sort.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net9.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "9.0.0" + }, + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs new file mode 100644 index 0000000..9e76325 --- /dev/null +++ b/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")] diff --git a/obj/Debug/net9.0/apphost b/obj/Debug/net9.0/apphost new file mode 100755 index 0000000..8bc32b1 Binary files /dev/null and b/obj/Debug/net9.0/apphost differ diff --git a/obj/Debug/net9.0/insertion_sort.AssemblyInfo.cs b/obj/Debug/net9.0/insertion_sort.AssemblyInfo.cs new file mode 100644 index 0000000..ce18a75 --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("insertion_sort")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+c817978ad78c3196c23720330f72d79a29843579")] +[assembly: System.Reflection.AssemblyProductAttribute("insertion_sort")] +[assembly: System.Reflection.AssemblyTitleAttribute("insertion_sort")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/obj/Debug/net9.0/insertion_sort.AssemblyInfoInputs.cache b/obj/Debug/net9.0/insertion_sort.AssemblyInfoInputs.cache new file mode 100644 index 0000000..daefb4b --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +b5ba8fdce8a72d37bd1d20286034b268b3dace8a8a33aee089a01308b93f408b diff --git a/obj/Debug/net9.0/insertion_sort.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net9.0/insertion_sort.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..b74ae6b --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,15 @@ +is_global = true +build_property.TargetFramework = net9.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = insertion_sort +build_property.ProjectDir = /home/Verde/git/insertion_sort/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 9.0 +build_property.EnableCodeStyleSeverity = diff --git a/obj/Debug/net9.0/insertion_sort.GlobalUsings.g.cs b/obj/Debug/net9.0/insertion_sort.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/obj/Debug/net9.0/insertion_sort.assets.cache b/obj/Debug/net9.0/insertion_sort.assets.cache new file mode 100644 index 0000000..0a1eed6 Binary files /dev/null and b/obj/Debug/net9.0/insertion_sort.assets.cache differ diff --git a/obj/Debug/net9.0/insertion_sort.csproj.CoreCompileInputs.cache b/obj/Debug/net9.0/insertion_sort.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..032e3af --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +5d2d7758d30a62e9cd616559526dd02de488d308f765edfb9af2cc4bfb50ea08 diff --git a/obj/Debug/net9.0/insertion_sort.csproj.FileListAbsolute.txt b/obj/Debug/net9.0/insertion_sort.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..4d9448d --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +/home/Verde/git/insertion_sort/bin/Debug/net9.0/insertion_sort +/home/Verde/git/insertion_sort/bin/Debug/net9.0/insertion_sort.deps.json +/home/Verde/git/insertion_sort/bin/Debug/net9.0/insertion_sort.runtimeconfig.json +/home/Verde/git/insertion_sort/bin/Debug/net9.0/insertion_sort.dll +/home/Verde/git/insertion_sort/bin/Debug/net9.0/insertion_sort.pdb +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.GeneratedMSBuildEditorConfig.editorconfig +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.AssemblyInfoInputs.cache +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.AssemblyInfo.cs +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.csproj.CoreCompileInputs.cache +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.dll +/home/Verde/git/insertion_sort/obj/Debug/net9.0/refint/insertion_sort.dll +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.pdb +/home/Verde/git/insertion_sort/obj/Debug/net9.0/insertion_sort.genruntimeconfig.cache +/home/Verde/git/insertion_sort/obj/Debug/net9.0/ref/insertion_sort.dll diff --git a/obj/Debug/net9.0/insertion_sort.dll b/obj/Debug/net9.0/insertion_sort.dll new file mode 100644 index 0000000..327bfe2 Binary files /dev/null and b/obj/Debug/net9.0/insertion_sort.dll differ diff --git a/obj/Debug/net9.0/insertion_sort.genruntimeconfig.cache b/obj/Debug/net9.0/insertion_sort.genruntimeconfig.cache new file mode 100644 index 0000000..521e63b --- /dev/null +++ b/obj/Debug/net9.0/insertion_sort.genruntimeconfig.cache @@ -0,0 +1 @@ +31066dd5f2be3208e0da652785065381222bfa0415951f3abc35c1e96237a265 diff --git a/obj/Debug/net9.0/insertion_sort.pdb b/obj/Debug/net9.0/insertion_sort.pdb new file mode 100644 index 0000000..a1868f0 Binary files /dev/null and b/obj/Debug/net9.0/insertion_sort.pdb differ diff --git a/obj/Debug/net9.0/ref/insertion_sort.dll b/obj/Debug/net9.0/ref/insertion_sort.dll new file mode 100644 index 0000000..3f37788 Binary files /dev/null and b/obj/Debug/net9.0/ref/insertion_sort.dll differ diff --git a/obj/Debug/net9.0/refint/insertion_sort.dll b/obj/Debug/net9.0/refint/insertion_sort.dll new file mode 100644 index 0000000..3f37788 Binary files /dev/null and b/obj/Debug/net9.0/refint/insertion_sort.dll differ