Opzione 2
This commit is contained in:
parent
9a6a7d033d
commit
fc5e00d760
41
Program.cs
41
Program.cs
@ -24,12 +24,12 @@ class Program {
|
||||
break;
|
||||
case 2:
|
||||
Console.Clear();
|
||||
|
||||
ContaLettere();
|
||||
Pausa();
|
||||
break;
|
||||
case 3:
|
||||
Console.Clear();
|
||||
|
||||
|
||||
Pausa();
|
||||
break;
|
||||
case 4:
|
||||
@ -65,10 +65,45 @@ class Program {
|
||||
if (daEsserCercato.Contains(trova)) {
|
||||
ritorno = daEsserCercato.Replace(trova, sostituisci);
|
||||
}
|
||||
else{
|
||||
else {
|
||||
ritorno = $"Nessuna occorrenza di {trova} trovata in {daEsserCercato}";
|
||||
}
|
||||
|
||||
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.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("strings_1")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[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.AssemblyTitleAttribute("strings_1")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@ -1 +1 @@
|
||||
04a8bffd0985b606c02f47e14af099392fb8a67f7a6b726a8ce22dfe96827131
|
||||
026fc32c5f2b08f1f28bf8d9d499576953af691b4c04f7de6e6d7956b19089a8
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user