grz ora dovrei praticamente contare le parole e questo nn è un problema con una semplice variabile ma devo vedere se le parole sono doppie all'interno della stringa .. mi servirebbe qualche idea cmq ora posto il codice
static void Main(string[] args)
{
// **** Variabili ****
string frase;
string[] fraseArray;
int contaParole = 0;
// **** ****
Console.Write("Dammi una frase : ");
frase = Convert.ToString(Console.ReadLine());
frase.Trim();//levo spazi iniziali e finali
PulisciFrase(ref frase);
// contare le parole
fraseArray = frase.Split(' ');
foreach (string v in fraseArray)
{
if (v.Trim() != "")
contaParole++;
}
Console.WriteLine("la frase contiene {0} parole\n ", contaParole);
Console.WriteLine(" **** ****");
Console.WriteLine("\nStampo le parole sullo schermo : ");
foreach (string v in fraseArray)
{
if (v.Trim() != "")
Console.WriteLine("{0}", v);
}
Console.WriteLine(" **** ****");
}
//pulisce la frase cn i replace levando i segni di punteggiatura e mettendo gli spazi
static void PulisciFrase(ref string frase)
{
string fraseNoVirgole = "", fraseNoPunti = "", frasePulita = "";
string fraseNoPuntoInterr = "", fraseNoPuntoVirgola = "", fraseNoPuntoEscalamativo = "";
for (int i = 0; i < frase.Length; i++)
{
fraseNoVirgole = frase.Replace(',', ' ');
fraseNoPunti = fraseNoVirgole.Replace('.', ' ');
fraseNoPuntoEscalamativo = fraseNoPunti.Replace('!', ' ');
fraseNoPuntoVirgola = fraseNoPuntoEscalamativo.Replace(';', ' ');
fraseNoPuntoInterr = fraseNoPuntoVirgola.Replace('?', ' ');
frase = fraseNoPuntoInterr;
}

Rispondi quotando