diff --git a/Program.cs b/Program.cs index 375f428..aac4b35 100644 --- a/Program.cs +++ b/Program.cs @@ -8,7 +8,7 @@ class Program { static void Menu() { Console.Clear(); int scelta; - string[] array = null; + string[] array = null, array2 = null; string stringa1, stringa2; do { Console.WriteLine("Inserire un'opzione:"); @@ -51,12 +51,23 @@ class Program { break; case 4: Console.Clear(); - //Codifica(); + if (array != null) { + array2 = CodificaArray(array); + Console.WriteLine("Array codificato con successo"); + } + else { + Console.WriteLine("Errore: è necessario creare l'array prima di codificarlo."); + } Pausa(); break; case 5: Console.Clear(); - //Anagramma(); + if (array2 != null) { + StampaArray(array2); + } + else { + Console.WriteLine("Errore: è necessario codificare l'array prima di mostrarlo."); + } Pausa(); break; default: @@ -112,34 +123,34 @@ class Program { } - static string Codifica() { - string stringa = Input(); - char codice = 'f'; - const char inutile = '\\'; - char[] ritorno = new char[stringa.Length * 2]; - Array.Fill(ritorno, inutile); - char[] vocali = { 'a', 'e', 'i', 'o', 'u' }; - int k = 0; + static string[] CodificaArray(string[] p_array) { + for (int i = 0; i < p_array.Length; i++) { + p_array[i] = Codifica(p_array[i]); + } + return p_array; + } + + static string Codifica(string p_stringa) { + int codice; + char[] ritorno = new char[p_stringa.Length]; - for (int i = 0; i < stringa.Length; i++) { - ritorno[k] = stringa[i]; - for (int j = 0; j < vocali.Length; j++) { - if (stringa[i] == vocali[j]) { - k++; - ritorno[k] = codice; - break; + for (int i = 0; i < p_stringa.Length; i++) { + if (char.IsAsciiLetter(p_stringa[i])) { + codice = Convert.ToInt32(p_stringa[i]) + p_stringa.Length; + if (codice > 90 && codice < 97) { + codice = 65 + p_stringa.Length; } - else if (stringa[i] == char.ToUpper(vocali[j])) { - k++; - ritorno[k] = char.ToUpper(codice); - break; + else if (codice > 122) { + codice = 97 + p_stringa.Length; } + ritorno[i] = Convert.ToChar(codice); + } + else { + ritorno[i] = p_stringa[i]; } - k++; - } - return string.Join("", ritorno).Split(inutile).First(); + return string.Join("", ritorno); } } \ No newline at end of file diff --git a/bin/Debug/net9.0/strings_5.dll b/bin/Debug/net9.0/strings_5.dll index 59c491d..4f214c1 100644 Binary files a/bin/Debug/net9.0/strings_5.dll and b/bin/Debug/net9.0/strings_5.dll differ diff --git a/bin/Debug/net9.0/strings_5.pdb b/bin/Debug/net9.0/strings_5.pdb index 9849b66..d0d0b6f 100644 Binary files a/bin/Debug/net9.0/strings_5.pdb and b/bin/Debug/net9.0/strings_5.pdb differ diff --git a/obj/Debug/net9.0/ref/strings_5.dll b/obj/Debug/net9.0/ref/strings_5.dll index e17eb1d..3e5c77d 100644 Binary files a/obj/Debug/net9.0/ref/strings_5.dll and b/obj/Debug/net9.0/ref/strings_5.dll differ diff --git a/obj/Debug/net9.0/refint/strings_5.dll b/obj/Debug/net9.0/refint/strings_5.dll index e17eb1d..3e5c77d 100644 Binary files a/obj/Debug/net9.0/refint/strings_5.dll and b/obj/Debug/net9.0/refint/strings_5.dll differ diff --git a/obj/Debug/net9.0/strings_5.AssemblyInfo.cs b/obj/Debug/net9.0/strings_5.AssemblyInfo.cs index 7eaa74d..113517c 100644 --- a/obj/Debug/net9.0/strings_5.AssemblyInfo.cs +++ b/obj/Debug/net9.0/strings_5.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("strings_5")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6e87c50f38fe55a9a356be9943e01a9b33f11d9c")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+70e2bb324b2c94fefbc53c8fb247bf1fe31c4a03")] [assembly: System.Reflection.AssemblyProductAttribute("strings_5")] [assembly: System.Reflection.AssemblyTitleAttribute("strings_5")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/obj/Debug/net9.0/strings_5.AssemblyInfoInputs.cache b/obj/Debug/net9.0/strings_5.AssemblyInfoInputs.cache index 81581d9..6c88e16 100644 --- a/obj/Debug/net9.0/strings_5.AssemblyInfoInputs.cache +++ b/obj/Debug/net9.0/strings_5.AssemblyInfoInputs.cache @@ -1 +1 @@ -fe225aa8de7de9cfc2110dee8a116f06390dffbae0a351de03d0a092dbfe8d53 +b26f186608df5a8c40937b216ba7dc5aa7545443a962ec331c7919c381db438d diff --git a/obj/Debug/net9.0/strings_5.dll b/obj/Debug/net9.0/strings_5.dll index 59c491d..4f214c1 100644 Binary files a/obj/Debug/net9.0/strings_5.dll and b/obj/Debug/net9.0/strings_5.dll differ diff --git a/obj/Debug/net9.0/strings_5.pdb b/obj/Debug/net9.0/strings_5.pdb index 9849b66..d0d0b6f 100644 Binary files a/obj/Debug/net9.0/strings_5.pdb and b/obj/Debug/net9.0/strings_5.pdb differ