elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Tablas Hash
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Tablas Hash  (Leído 7,487 veces)
r[Ø]cket

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Tablas Hash
« en: 21 Octubre 2009, 16:55 pm »

hola
lo que sucede es q nesecito hacer una especie de diccionario con las tablas hash, con la que el usuario ingrese la clave (una palabra de un txt) y el debe darle el valor (la definicion de la palabra), ya logre q lea el txt pero no puedo ingresar otra clave que no sea la primera, de lo contrario no retorna nada

este es el codigo q e hecho


using System;
using System.Collections;
using System.IO;


namespace dicc
{
class Program
{

static void Main(string[] args)
{

/* Crea una tabla Hash */
Hashtable tabla = new Hashtable();
try
{
using (StreamReader sr = new StreamReader("dicc.txt"))
{
string linea;
char[] separador = { ':' };

while ((linea = sr.ReadLine()) != null)
{

string[] datos = linea.Split(separador);
string Claves = datos[0];
string Valores = datos[1];
tabla.Add(Claves, Valores);
Console.WriteLine("oprima la Clave y enter");

if (Claves == Console.ReadLine())
Console.WriteLine("{0}: {1}", Claves, Valores);

}

}
}

catch (Exception e)
{
Console.WriteLine("Error en el Archivo:");
Console.WriteLine(e.Message);
}


}
}
}


espero q puedan ayudarme


En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: Tablas Hash
« Respuesta #1 en: 21 Octubre 2009, 18:15 pm »

no entiendo el problema.
Tienes un archivo .txt que contienes palabras asi:
Código:
Palabra1:Definicion1
Palabra2:Definicion2
Palabra3:Definicion3

quieres llevar el contenido del archivo a una tabla hash, en donde la palabra sera la clave y la definición el valor.

lo que no entiendo es por que haces esto:
Código:
Console.WriteLine("oprima la Clave y enter");

if (Claves == Console.ReadLine())
Console.WriteLine("{0}: {1}", Claves, Valores);

con que fin? ya tienes los dos valores en la tabla hash para que pides la clave? eso deberia estas por fuera del while cuando termine de leer el archio y de llenar la tabla hash.
lo que quieres que que fuera del while haces otro while en donde pides la clave y haces un Find a la tabla hash para retornar el valor.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


En línea


r[Ø]cket

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Tablas Hash
« Respuesta #2 en: 23 Octubre 2009, 19:58 pm »

;D tienes razon Juan Manuel  no dejo q se carge la tabla, pero a la hora de hacer el otro while donde pida la clave y la imprima (la definicion) no se como plantearla
En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: Tablas Hash
« Respuesta #3 en: 23 Octubre 2009, 21:40 pm »

te pongo el code para que lo mires.  :rolleyes: :rolleyes: :rolleyes:
Código
  1.            Dictionary<string, string> tabla = new Dictionary<string, string>();
  2.            try
  3.            {
  4.                using (StreamReader sr = new StreamReader(Environment.CurrentDirectory + "\\Diccionario.txt"))
  5.                {
  6.                    string linea = string.Empty;
  7.                    while ((linea = sr.ReadLine()) != null)
  8.                    {
  9.                        string[] datos = linea.Split(':');
  10.                        //Adicionamos la clave en mayusculas para que no interfiera con la busqueda.
  11.                        string clave = datos[0].ToUpper();
  12.                        string valor = datos[1];
  13.                        tabla.Add(clave, valor);
  14.                    }
  15.                }
  16.                Console.WriteLine("Digite la clave que desea buscar o teclee \"EXIT\" para salir");
  17.                string Comando = Console.ReadLine().ToUpper();
  18.                //Si se teclea "EXIT" se cierra el programa.
  19.                while (Comando.ToUpper() != "EXIT")
  20.                {
  21.                    if (tabla.ContainsKey(Comando))
  22.                    {
  23.                        string valor = tabla[Comando];
  24.                        Console.WriteLine("La definición para {0} es: {1}", Comando, valor);
  25.                    }
  26.                    else
  27.                    {
  28.                        //La Clave no existe.
  29.                        Console.WriteLine("La clave buscada no existe.");
  30.                    }
  31.                    Console.WriteLine("Oprima una tecla para realizar otra busqueda");
  32.                    Console.ReadLine();
  33.                    Console.Clear();
  34.                    Console.WriteLine("Digite la clave que desea buscar o teclee \"EXIT\" para salir");
  35.                    Comando = Console.ReadLine().ToUpper();
  36.  
  37.                }
  38.            }
  39.            catch (Exception e)
  40.            {
  41.                Console.WriteLine("Error en el archivo: ");
  42.                Console.WriteLine(e.Message);
  43.            }
  44.  
tiene algunas mejorillas como por ejemplo, en vez de utilizar una clase Hashtable utilice una clase Dictionary que cumple con la funcionalidad pero es generica y me gusta mas.

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
« Última modificación: 24 Octubre 2009, 00:30 am por MANULOMM » En línea


r[Ø]cket

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Tablas Hash
« Respuesta #4 en: 24 Octubre 2009, 05:54 am »

;-) Juan Manuel GRACIAS!!....en verdad me has ayudado mucho, ademas que esta bien sencillo y explicado que hasta yo  entiendo el codigo. Era justo lo q nesecitaba
En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: Tablas Hash
« Respuesta #5 en: 24 Octubre 2009, 15:23 pm »

de nada... jejeje  ;D ;D ;D ;D

Atentamente,

Juan Manuel Lombana
Medellín - Colombia
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda! Tablas Hash
Java
xent 0 2,772 Último mensaje 18 Diciembre 2010, 19:23 pm
por xent
Tablas Hash
Programación General
danndres 0 1,755 Último mensaje 27 Septiembre 2014, 07:51 am
por danndres
Ayuda con programa. Eficiencia búsqueda de datos, árboles AVL, tablas hash.
Programación C/C++
raintrooper 2 2,301 Último mensaje 10 Mayo 2016, 15:24 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines