strings_5/Program.cs
2025-02-27 10:18:21 +01:00

145 lines
4.2 KiB
C#

namespace strings_5;
class Program {
static void Main(string[] args) {
Menu();
}
static void Menu() {
Console.Clear();
int scelta;
string[] array = null;
string stringa1, stringa2;
do {
Console.WriteLine("Inserire un'opzione:");
Console.WriteLine("1. Crea array");
Console.WriteLine("2. Mostra array");
Console.WriteLine("3. Trova frase più lunga");
Console.WriteLine("4. Codifica");
Console.WriteLine("5. Mostra codifica");
Console.WriteLine("0. Esci");
Console.Write("Scelta: ");
scelta = Convert.ToInt32(Console.ReadLine());
switch (scelta) {
case 0:
break;
case 1:
Console.Clear();
array = CreaArray();
Pausa();
break;
case 2:
Console.Clear();
if (array != null) {
StampaArray(array);
}
else {
Console.WriteLine("Errore: è necessario creare l'array prima di mostrarlo.");
}
Pausa();
break;
case 3:
Console.Clear();
if (array != null) {
Console.WriteLine($"La frase più lunga è {MaxLength(array)}");
}
else {
Console.WriteLine("Errore: è necessario creare l'array prima di mostrare la frase più lunga.");
}
Pausa();
break;
case 4:
Console.Clear();
//Codifica();
Pausa();
break;
case 5:
Console.Clear();
//Anagramma();
Pausa();
break;
default:
Console.WriteLine("Opzione non valida.");
Pausa();
break;
}
}
while (scelta != 0);
}
static void Pausa() {
Console.WriteLine("Premere un tasto per continuare. . .");
Console.ReadKey();
Console.Clear();
}
static string Input() {
Console.Write("Inserire una frase: ");
return Console.ReadLine();
}
static string[] CreaArray() {
int dimensione;
Console.Write("Quante frasi inserire?");
dimensione = Convert.ToInt32(Console.ReadLine());
string[] ritorno = new string[dimensione];
for (int i = 0; i < dimensione; i++) {
ritorno[i] = Input();
}
return ritorno;
}
static void StampaArray(string[] p_array) {
for (int i = 0; i < p_array.Length; i++) {
Console.WriteLine($"Elemento n.{i + 1}: {p_array[i]}");
}
}
static string MaxLength(string[] p_array) {
int max = 0, maxIndex = 0;
for (int i = 0; i < p_array.Length; i++) {
if (p_array[i].Length > max) {
max = p_array[i].Length;
maxIndex = i;
}
}
return p_array[maxIndex];
}
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;
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;
}
else if (stringa[i] == char.ToUpper(vocali[j])) {
k++;
ritorno[k] = char.ToUpper(codice);
break;
}
}
k++;
}
return string.Join("", ritorno).Split(inutile).First();
}
}