diff --git a/Program.cs b/Program.cs index 795fd4a..5fb0fd4 100644 --- a/Program.cs +++ b/Program.cs @@ -24,10 +24,10 @@ class Program { break; case 1: Console.Clear(); - if (Palindromo()) { + if (ParolaPalindroma()) { Console.WriteLine("La parola è palindroma"); } - else{ + else { Console.WriteLine("La parola non è palindroma"); } Pausa(); @@ -84,9 +84,10 @@ class Program { return p_array; } - static bool Palindromo() { + static bool ParolaPalindroma() { string stringa; bool ritorno; + char[] metà1, metà2; do { Console.Write("Inserire una parola: "); stringa = Console.ReadLine().ToLower(); //convertita in minuscolo per identificare palindromi case insensitive @@ -97,8 +98,16 @@ class Program { } while (stringa.Contains(' ')); - char[] metà1 = stringa.Substring(0, stringa.Length / 2).ToCharArray(); //divido la stringa a metà, prendo la prima e la converto in array di char per riordinarne le lettere - char[] metà2 = stringa.Substring(stringa.Length/2, stringa.Length/2).ToCharArray(); //divido la stringa a metà, prendo la seconda e la converto in array di char per riordinarne le lettere + //la divisione serve per escludere la lettera che divide perfettamente a metà la parola con lettere dispari + if (stringa.Length % 2 == 0) { + metà1 = stringa.Substring(0, stringa.Length / 2).ToCharArray(); //divido la stringa a metà, prendo la prima e la converto in array di char per riordinarne le lettere + metà2 = stringa.Substring(stringa.Length / 2, stringa.Length / 2).ToCharArray(); //divido la stringa a metà, prendo la seconda e la converto in array di char per riordinarne le lettere + } + else { + metà1 = stringa.Substring(0, stringa.Length / 2).ToCharArray(); //divido la stringa a metà, prendo la prima e la converto in array di char per riordinarne le lettere + metà2 = stringa.Substring((stringa.Length / 2) + 1, stringa.Length / 2).ToCharArray(); //divido la stringa a metà, prendo la seconda e la converto in array di char per riordinarne le lettere + } + string metàOrdinata1 = string.Join("", InsertionSort(metà1));//ordino la prima metà della stringa e la riconverto da array di char in stringa string metàOrdinata2 = string.Join("", InsertionSort(metà2));//ordino la secondo metà della stringa e la riconverto da array di char in stringa diff --git a/bin/Debug/net9.0/strings_2.dll b/bin/Debug/net9.0/strings_2.dll index f61d5b5..46821f8 100644 Binary files a/bin/Debug/net9.0/strings_2.dll and b/bin/Debug/net9.0/strings_2.dll differ diff --git a/bin/Debug/net9.0/strings_2.pdb b/bin/Debug/net9.0/strings_2.pdb index 36f1fd6..d1dfa2f 100644 Binary files a/bin/Debug/net9.0/strings_2.pdb and b/bin/Debug/net9.0/strings_2.pdb differ diff --git a/obj/Debug/net9.0/ref/strings_2.dll b/obj/Debug/net9.0/ref/strings_2.dll index dee7003..744dca4 100644 Binary files a/obj/Debug/net9.0/ref/strings_2.dll and b/obj/Debug/net9.0/ref/strings_2.dll differ diff --git a/obj/Debug/net9.0/refint/strings_2.dll b/obj/Debug/net9.0/refint/strings_2.dll index dee7003..744dca4 100644 Binary files a/obj/Debug/net9.0/refint/strings_2.dll and b/obj/Debug/net9.0/refint/strings_2.dll differ diff --git a/obj/Debug/net9.0/strings_2.AssemblyInfo.cs b/obj/Debug/net9.0/strings_2.AssemblyInfo.cs index 28379c8..8ed454c 100644 --- a/obj/Debug/net9.0/strings_2.AssemblyInfo.cs +++ b/obj/Debug/net9.0/strings_2.AssemblyInfo.cs @@ -13,10 +13,10 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("strings_2")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+df4f2918a49cbd8aeeebe19777d71532803e253e")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+97c65ade8e1a0e7e912b959c732d32df692d42e4")] [assembly: System.Reflection.AssemblyProductAttribute("strings_2")] [assembly: System.Reflection.AssemblyTitleAttribute("strings_2")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] -// Generated by the MSBuild WriteCodeFragment class. +// Generato dalla classe WriteCodeFragment di MSBuild. diff --git a/obj/Debug/net9.0/strings_2.AssemblyInfoInputs.cache b/obj/Debug/net9.0/strings_2.AssemblyInfoInputs.cache index fbd1cd7..0ccf65b 100644 --- a/obj/Debug/net9.0/strings_2.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/strings_2.AssemblyInfoInputs.cache @@ -1 +1 @@ -69f869a208dc09bd1be386fdbbafe9f6913df04b08dc4f24906dd6e708dc41ef +049a95f073c2bbaacb9a0f60962811b08e9cd32894ba1b07148583ce8cae646e diff --git a/obj/Debug/net9.0/strings_2.dll b/obj/Debug/net9.0/strings_2.dll index f61d5b5..46821f8 100644 Binary files a/obj/Debug/net9.0/strings_2.dll and b/obj/Debug/net9.0/strings_2.dll differ diff --git a/obj/Debug/net9.0/strings_2.pdb b/obj/Debug/net9.0/strings_2.pdb index 36f1fd6..d1dfa2f 100644 Binary files a/obj/Debug/net9.0/strings_2.pdb and b/obj/Debug/net9.0/strings_2.pdb differ