El uso de las letras

Después de leer un artículo de 86400.es en el que hablan sobre el porcentaje de uso de todas las letras en nuestro idioma, me entraron ganas de comprobarlo. Para ello, hice un pequeño programa en C++ que nos dice el porcentaje de  uso de cada letra utilizada en un texto que pongamos (exceptuando la ñ y letras con tilde).

Los resultados que os pongo aquí, salen de un texto de unas 200 páginas y 219.731 letras. Se parecen bastante a los resultados del post, pero destaca la k con un 0,2% en este texto, seguramente por la presencia de palabras extranjeras. Si queréis analizar más textos, los podéis dejar en los comentarios, y os pongo los resultados, también os pongo el código fuente del programa.

  • a: 13.3031%
  • b: 1.8181%
  • c: 3.9257%
  • d: 4.8314%
  • e: 13.6308%
  • f: 0.5716%
  • g: 1.0854%
  • h: 1.1915%
  • i: 5.4417%
  • j: 0.5175%
  • k: 0.2016%
  • l: 5.1281%
  • m: 3.6608%
  • n: 6.7560%
  • o: 8.7248%
  • p: 2.7738%
  • q: 1.4668%
  • r: 6.8716%
  • s: 6.8279%
  • t: 4.1769%
  • u: 4.4336%
  • v: 1.1746%
  • w: 0.0086%
  • x: 0.1543%
  • y: 0.8624%
  • z: 0.4615%

El código en C++.

#include <iostream>
#include <string>
#include <vector>
using namespace std;
 
typedef vector<double> Abecedario;
 
int main() {
    // 4 cifras de precisión
    cout.setf(ios::fixed);
    cout.precision(4);
 
    Abecedario a(26, 0);
    char c;
    while(cin >> c) {
        if(c >= 'a' and c <= 'z') ++a[c-'a'];
        else if(c >= 'A' and c <= 'Z') ++a[c-'A'];
    }
 
    string s = "abcdefghijklmnopqrstuvwxyz";
    double suma = 0;
    for(int i = 0; i < 26; ++i) suma+= a[i];
    cout << int(suma) << " letras" << endl;
    for(int i = 0; i < 26; ++i) {
        double k = a[i]/suma*100;
        if(a[i] != 0) cout << s[i] << ": " << k << "%" << endl;
    }
}

También te puede interesar...

Tags ,

7 comentarios

  1. Ithil dice:

    Muy interesante, como siempre. esto me hace pensar que hoy en dia se hacen estadísticas de todo lo imaginable….que mundo este.
    Por cierto, he vuelto, besos!

    Thumb up Thumb down 0

  2. Hisuin dice:

    Está interesante, sobretodo para cosas relacionadas con criptografía.
    Me sigue sorprendiendo que la e tenga algo más de frecuencia que la a también en castellano.

    Thumb up Thumb down +1

  3. Kamugo dice:

    Tendría que hacer lo mismo con el inglés, a ver que sale

    Thumb up Thumb down 0

  4. Rosalba dice:

    La “a” le pisa los talones a la “e”, pero aún así la indiscutible ganadora es la “e”.
    Saludos

    Thumb up Thumb down +1

  5. Dave dice:

    Está interesante, sobretodo para cosas relacionadas con criptografía.
    Me sigue sorprendiendo que la e tenga algo más de frecuencia que la a también en castellano.

    Thumb up Thumb down +1

    • Kamugo dice:

      También hay que tener en cuenta que analicé las letras a partir de una novela, si lo analizara de otra saldría algo diferente. Estuve buscando un diccionario que diera todas las palabras en una lista, pero no lo encontré, eso sería lo optimo.

      Thumb up Thumb down +1

  6. Rosalba dice:

    Oh que bien… pusiste el código :)
    Gracias gracias. Aún recordaba esta entrada, pero antes no habias publicado el código c++.

    Bien ^^

    Thumb up Thumb down +2

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>