Opzione 2

This commit is contained in:
La Programmatrice Verde 2025-02-06 07:33:51 +01:00
parent 9a6a7d033d
commit fc5e00d760
9 changed files with 40 additions and 5 deletions

View File

@ -24,7 +24,7 @@ class Program {
break; break;
case 2: case 2:
Console.Clear(); Console.Clear();
ContaLettere();
Pausa(); Pausa();
break; break;
case 3: case 3:
@ -65,10 +65,45 @@ class Program {
if (daEsserCercato.Contains(trova)) { if (daEsserCercato.Contains(trova)) {
ritorno = daEsserCercato.Replace(trova, sostituisci); ritorno = daEsserCercato.Replace(trova, sostituisci);
} }
else{ else {
ritorno = $"Nessuna occorrenza di {trova} trovata in {daEsserCercato}"; ritorno = $"Nessuna occorrenza di {trova} trovata in {daEsserCercato}";
} }
return ritorno; return ritorno;
} }
static void ContaLettere() {
string daEsserCercato, stringa;
int vocali, consonanti;
Console.Write("Inserire il testo in cui contare le lettere: ");
daEsserCercato = Console.ReadLine();
stringa = daEsserCercato.ToLower();//converto la stringa in caratteri minuscoli per semplificare la ricerca delle lettere dopo
//Queste sono due addizioni lunghissime perché ho voluto cercare di usare solo i metodi delle stringhe e non convertire la stringa in array per la ricerca
vocali = CercaLettera(stringa, 'a') + CercaLettera(stringa, 'e') + CercaLettera(stringa, 'i') + CercaLettera(stringa, 'o') + CercaLettera(stringa, 'u');
consonanti = CercaLettera(stringa, 'b') + CercaLettera(stringa, 'c') + CercaLettera(stringa, 'd') + CercaLettera(stringa, 'f') + CercaLettera(stringa, 'g') + CercaLettera(stringa, 'h') + CercaLettera(stringa, 'j') + CercaLettera(stringa, 'k') + CercaLettera(stringa, 'l') + CercaLettera(stringa, 'm') + CercaLettera(stringa, 'n') + CercaLettera(stringa, 'p') + CercaLettera(stringa, 'q') + CercaLettera(stringa, 'r') + CercaLettera(stringa, 's') + CercaLettera(stringa, 't') + CercaLettera(stringa, 'v') + CercaLettera(stringa, 'w') + CercaLettera(stringa, 'x') + CercaLettera(stringa, 'y') + CercaLettera(stringa, 'z');
Console.WriteLine($"La stringa {daEsserCercato} contiene {vocali} vocali e {consonanti} consonanti");
}
static int CercaLettera(string p_stringa, char p_lettera) {
int i = 0, ritorno = 0;
//creo un array per avere l'indice iniziale di ogni occorrenza del testo da trovare e lo riempio di -1 visto che sono indici non validi
int[] indiciOccorrenze = new int[p_stringa.Length];
for (int j = 0; j < indiciOccorrenze.Length; j++) {
indiciOccorrenze[j] = -1;
}
while (p_stringa.Contains(p_lettera)) {//finché c'è un'occorrenza
ritorno++;//conta quante occorrenze ci sono state
indiciOccorrenze[i] = p_stringa.IndexOf(p_lettera);//salva l'indice iniziale dell'occorrenza
p_stringa = p_stringa.Substring(indiciOccorrenze[i] + 1);//accorcia il testo per cercare oltre l'occorrenza appena trovata (1 serve per accorciare oltre la lettera)
i++;
}
return ritorno;
}
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("strings_1")] [assembly: System.Reflection.AssemblyCompanyAttribute("strings_1")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0c0dba09f56a880aa213506f9e689c9f02f72bc4")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9a6a7d033df24618f23d8c678ad89ad9da11fd5f")]
[assembly: System.Reflection.AssemblyProductAttribute("strings_1")] [assembly: System.Reflection.AssemblyProductAttribute("strings_1")]
[assembly: System.Reflection.AssemblyTitleAttribute("strings_1")] [assembly: System.Reflection.AssemblyTitleAttribute("strings_1")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
04a8bffd0985b606c02f47e14af099392fb8a67f7a6b726a8ce22dfe96827131 026fc32c5f2b08f1f28bf8d9d499576953af691b4c04f7de6e6d7956b19089a8

Binary file not shown.

Binary file not shown.