[ Foro de C# ]

Ayuda con un cifrado

16-Apr-2014 05:43
Invitado (Matias)
0 Respuestas

Buenas noches, tengo un par de dudas con un ejercicio: tengo esta tabla de valores y debo cifrar un texto a partir de una palabra y una clave (string).

A B C D E F G  H  I   J    K  L    M  N  Ñ  O    P   Q  R   S   T   U   V  W   X   Y   Z   sp
1 2 3 4  5  6 7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Si yo tengo la palabra HOLA y la clave CHAU , a cada uno le corresponde un valor, debo sumarlos uno por uno y luego buscar la letra en la tabla. Ej: H = 8 , C = 3 entonces numero = 11 = K. Significa que la letra H se cifra con la letra K, y así con cada una de las letras de la palabra.

Había pensado en un vector de char y una tabla hash y utilizando dos foreach anidados pero no funciona.

string frase = "HOLA";
string clave = "CHAU";

int resultado;
int tot;


char [] arreglo = new char[clave.Length];  //utiliza un vector de char para guardar la clave


for (int f=0; f<arreglo.Length; f++)       // guarda los caracteres en el vector
{
arreglo[f] = clave[f];
}

Console.WriteLine("Texto cifrado");
Console.WriteLine();

int k=0;
int x;
char nueLet;
foreach (char c in frase)
{
x = (int)tabla[arreglo[k]];  //tabla es la variable de la tabla hash.
if (x != 0)
{
resultado = (int)tabla[c] + x;
nueLet = vector [resultado-1];  //vector es el vector de char.
Console.Write(nueLet);
Console.Write(" ");
}
k++;
}
esto tampoco funciona. Quisiera saber si me podrían dar alguna idea. Gracias




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)