Esempio n. 1
0
        public void AgregandoNuevasCombinaciones()
        {
            var  Palabra        = "";
            var  TextoCompartir = "";
            var  i        = 0;
            var  numero   = TablaCaracteres.Count;
            bool FinLinea = false;

            foreach (var item in ListaTexto)
            {
                while (i < item.Length)
                {
                    if (TablaCaracteres.ContainsKey(item[i].ToString()) == true)
                    {
                        Palabra = item[i].ToString();
                        while (TablaCaracteres.ContainsKey(Palabra) == true && (FinLinea == false))
                        {
                            i++;
                            if (i < item.Length)
                            {
                                Palabra += item[i];
                            }
                            else
                            {
                                FinLinea = true;
                                //Almacena la posicion del ultimo caracter de la linea leida
                                TextoCompartir += TablaCaracteres[item[i - 1].ToString()];
                            }
                        }
                        if (TablaCaracteres.ContainsKey(Palabra) == false)
                        {
                            numero++;
                            TablaCaracteres.Add(Palabra, numero);

                            //Almacena la posicion del caracter o cadena, que si se encuentra en el diccionario, para comprimir
                            TextoCompartir += TablaCaracteres[Palabra.TrimEnd(item[i])].ToString() + ",";
                        }
                    }
                }
                FinLinea = false;
                i        = 0;
            }

            TextoComprimir = TextoCompartir;
        }
    public void mostrarLetrasVeces(string nombreOficinaTabla)
    {
        /*Contiene la lógica revisar y contrar las letras y las veces que se repite*/


        // colocar en minuscula. (Para evitar que compare una  S y s como diferentes.
        nombreOficinaTabla = nombreOficinaTabla.ToLower();

        // Elimino los caracteres repetidos usando linq Distinct().
        string nombreOficinaTablaDistinct = new string(nombreOficinaTabla.Trim().ToCharArray().Distinct().ToArray());

        // eliminar los espacios y colocar en minuscula.
        nombreOficinaTablaDistinct = nombreOficinaTablaDistinct.Trim().Replace(" ", "").ToLower();

        tablaOficina.Rows.Clear();
        tablaOficina.Caption = "";

        // obtener la longitud de la cadena sin caractres repetidos
        int l = nombreOficinaTablaDistinct.Length;

        //Crear array de TablaCaracteres para guardar las letras y las veces que aparece repetida.
        TablaCaracteres[] tablaCaracteres = new TablaCaracteres[l];
        int countCaract = 0;

        for (int i = 0; i < l; i++)
        {
            string letra = nombreOficinaTablaDistinct.Substring(i, 1);

            //contar veces que aparece la letra en el string
            long veces = nombreOficinaTabla.LongCount(sletra => sletra.ToString() == letra);

            tablaCaracteres[countCaract] = new TablaCaracteres();

            tablaCaracteres[countCaract].letra = letra;
            tablaCaracteres[countCaract].veces = veces.ToString();

            //tablaOficina.Caption = tablaOficina.Caption + ", " + tablaCaracteres[countCaract].letra + "=" + tablaCaracteres[countCaract].veces.ToString();

            countCaract++;
        }

        tabla(tablaCaracteres);
    }
Esempio n. 3
0
        public void ObtenerCaracteresBase()
        {
            var i   = 0;
            var num = 1;

            foreach (var item in ListaTexto)
            {
                while (i < item.Length)
                {
                    if (TablaCaracteres.ContainsKey(item[i].ToString()) == false)
                    {
                        TablaCaracteres.Add(item[i].ToString(), num);
                        num++;
                    }
                    i++;
                }
                i = 0;
            }
        }
Esempio n. 4
0
    public void MostrarCaracteres(string nombreOficinaTabla)
    {
        nombreOficinaTabla = nombreOficinaTabla.ToLower();
        string nombreOficinaTablaDistinct = new string(nombreOficinaTabla.Trim().ToCharArray().Distinct().ToArray());

        nombreOficinaTablaDistinct = nombreOficinaTablaDistinct.Trim().Replace(" ", "").ToLower();
        tablaOficina.Rows.Clear();
        tablaOficina.Caption = "";
        int l = nombreOficinaTablaDistinct.Length;

        TablaCaracteres[] tablaCaractes = new TablaCaracteres[l];
        int countCaracteres             = 0;

        for (int i = 0; i < l; i++)
        {
            string letra = nombreOficinaTablaDistinct.Substring(i, 1);
            long   veces = nombreOficinaTabla.LongCount(sletra => sletra.ToString() == letra);
            tablaCaractes[countCaracteres]       = new TablaCaracteres();
            tablaCaractes[countCaracteres].letra = letra;
            tablaCaractes[countCaracteres].veces = veces.ToString();

            countCaracteres++;
        }
    }