Jump to content

[C#] Algoritm pentru a determina numărul de cuvinte și numărul de litere dintr-un text


Clanin3
 Share

Recommended Posts

1. Determinarea numărului de cuvinte dintr-un text

 

Pentru început, va trebui să dividem caracterele (a-z), (A-Z), (0-9) și diferite semne de punctuație de caracterele 'spațiu', respectiv de caracterele 'new line'. Vom defini un vector rezultat, ce va conține elemente de tip string.

string text = ...
string[] rezultat = text.Split(' ', '\n');

 

Vom număra toate valorile vectorului rezultat ce pot fi considerate cuvinte (valori ce conțin litere). Valoarea lui k va reprezenta numărul de cuvinte.

int k = 0;
for(int i = 0; i<rezultat.Length; i++)
{
    if (Regex.IsMatch(rezultat[i], "[a-zA-Z]"))
    {
    	k++;
    }
}

 

Un exemplu de algoritm complet, ce citește un text dintr-un fișier este acesta:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = System.IO.File.ReadAllText(@"mesaj.txt");
            string[] rezultat = text.Split(' ', '\n');
            int k = 0;
            for(int i = 0; i<rezultat.Length; i++)
            {
                if (Regex.IsMatch(rezultat[i], "[a-zA-Z]"))
                {
                    k++;
                }
            }
            Console.WriteLine(k);
            Console.ReadKey();
        }
    }
}

 

Fișierul 'mesaj.txt' conține următorul text:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

 

După executarea codului, acesta va afișa în consolă următoarea valoare:

image.png

 

* Acesta nu este un algoritm optimizat, este varianta unui algoritm simplu, pentru a vedea functionalitatea acestuia.

 

2. Determinarea numărului de caractere dintr-un text

 

Procedura de determinare a numărului de caractere dintr-un text e foarte simplă. Vom considera un vector de tip char, ce va avea ca valori toate caracterele dintr-un string ce conține textul, după eliminarea unor caractere 'new line'.

 

Eliminarea caracterului 'new line' dintr-un string se face astfel:

string text = ...
text = text.Replace("\n", String.Empty);

 

După ce caracterul 'new line' a fost eliminat, vom crea un vector de tip char, unde vom adăuga fiecare caracter din string în vector cu ajutorul funcției String.ToCharArray().

char[] rezultat = text.ToCharArray();

 

Pentru a determina numărul de caractere, vom considera o variabilă de tip int ce va primi valoarea lungimii vectorului rezultat.

int k = rezultat.Length;

 

Un exemplu de algoritm complet, ce citește un text dintr-un fișier este acesta:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = System.IO.File.ReadAllText(@"mesaj.txt");
            text = text.Replace("\n", String.Empty);
            char[] rezultat = text.ToCharArray();
            int k = rezultat.Length;
            Console.WriteLine(k);
            Console.ReadKey();
        }
    }
}

 

Fișierul 'mesaj.txt' conține următorul text:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

 

După executarea codului, acesta va afișa în consolă următoarea valoare:

image.png

 

* Acesta nu este un algoritm optimizat, este varianta unui algoritm simplu, pentru a vedea functionalitatea acestuia.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.