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