Autor Tema: Palabras del diccionario en un archivo de texto

0 Usuarios y 1 Visitante están viendo este tema.

15 Julio, 2009, 07:25 am
Leído 5247 veces

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Hola busco alguna pagina que tenga en un archivo de texto todas las palabras del diccionario linea por linea, solo la palabra y no la definición. Si alguien conoce alguna le agradezco que me pase el link.

Que sea si por ejemplo:

abededario
avenida
bolsa
casa
...

Saludos.

15 Julio, 2009, 11:09 am
Respuesta #1

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 51,228
  • País: es
  • Karma: +0/-0

15 Julio, 2009, 06:34 pm
Respuesta #2

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Hola, sí, el primer archivo ya lo tenia, lo que pasa es que no me sirve porque tiene todas las palabras seguidas, y lo que estaba buscando es uno en forma de lista, o sea una linea por palabra. Igual gracias.

16 Julio, 2009, 01:44 am
Respuesta #3

Jjjuan

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 159
  • Karma: +0/-0
Buenas,
Pero si el archivo está separado por linea! Probá abriéndolo con otro procesador de textos, hay una incompatibilidad entre linux y Windows que provoca esas cosas.
De todas maneras, no sería nada difícil procesarlo para cambiarle las tabulaciones por saltos de línea; tampoco vas a encontrar siempre todo tan servido en bandeja.
Saludos

16 Julio, 2009, 02:32 am
Respuesta #4

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Tenes no razón, no sabia, pero igual si seria difícil procesarlo por que no hay ningun espacio nada, jaja esta todo seguido, igual lo abri con word pad y ese si me lo puso linea por linea.  :)

Gracias y saludos.

16 Julio, 2009, 04:05 am
Respuesta #5

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Bueno ya que estoy aprovecho el post, tengo que comparar un texto que se ingresa por teclado, con cada palabra de ese archivo haber si coincide alguna, el problema es el acceso, si yo accedo directamente al archivo es muy lento, y si levanto una copia del archivo en memoria? Es decir convertir cada palabra en un array de char con su longitud correspondiente, el problema con eso es que teóricamente estoy trabajando sobre una pila de 64kb, y el archivo tiene aproximadamente 80000 palabras, como el char mide 1 byte seria 80000 bytes = 78,125 Kb, y suponiendo un promedio de 6 letras por palabra 78,125Kb por 6 = 468,75Kb lo cual se aleja mucho del segmento de 64 kb. Como harían ustedes, leen linea por linea del archivo, o mandan todo a la memoria ?

16 Julio, 2009, 04:23 am
Respuesta #6

topo23

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 937
  • Karma: +0/-0
Segun los datos que das lo mas sencillo parace ser utilizar una base de datos con indice, para guardar las palabras (sqlite por ejemplo).
Si no puedes usar sqlite entonces lo que debes usar es una estructura tipo B-tree para almacenar las palabras en disco, asi no tienes que cargar todo el archivo en memoria, y la busqueda sera logaritmica, mucho mas rapida que una lineal que tiene que recorrer todo el archivo (las bases de datos suelen usar alguna variacion del B-tree para almacenar datos).
.

16 Julio, 2009, 04:48 am
Respuesta #7

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Hay que tener conocimientos sobre arboles y base de datos? no los tengo todavía :(

16 Julio, 2009, 05:14 am
Respuesta #8

Jjjuan

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 159
  • Karma: +0/-0
Buenas,
Mmm, mandar esos 900Kb a memoria no van a matar a nadie. Es decir, en mi máquina tengo 512Kb, tu programa no me funcionaría, pero es un caso aparte.
Supongo que sin otros conocimientos sería la más razonable solución.
Saludos

16 Julio, 2009, 06:19 am
Respuesta #9

Watt

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 327
  • Karma: +0/-0
  • Sexo: Masculino
  • Dos numeros manejan el mundo?
Pero como puede funcionar el programa si supuestamente el segmento por el cual trabajo esta formado pos un stack y heap (el cual el heap esta vació por que no uso elementos globales), por lo tanto el stack tendrá un máximo de 64kb :S. Como va mandar esos 900kb a la memoria ?.