|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - fantasma_85
Páginas: [1]
1
« en: Lunes 31 de Marzo de 2008, 01:09 »
Una vez mas gracias por todas las aportaciones anteriores me han servido mucho... Tengo mas problemas con los arrays que con las cadenas... Hice un tex1.text donde almaceno mi cadena de caracteres y un text2.text donde almaceno el resultado. Para obtener el resultado tengo que hacer ciertas comparaciones con respecto a este cuadro: 1 2 3 4 5 1 L O R E N 2 A B C D F 3 G H I/J K M 4 P Q S T U 5 V W X Y Z Primero hay que dividir la cadena del text en pares,y si en uno de los pares se repite la letra o caracter se le agrega la "x" entre las dos, y si es necesario se agrega la "x" al final paracmpletar el digrafo, ejemplo: CERRAR, esto quedaría asi sin "x" (CE) (RR) (AR)...ahora con "x" (CE) (RX) (RA) (RX). las condiciones para : a) Si ambas letras están en la misma fila, son reemplazadas por la letra que queda a la derecha de cada una de ellas. (ejemplo: RE, la R= E, la E=N) Si una de las letras está al final de la fila, es reemplazada por la letra que hay al principio de la fila. (ejemplo: NE, la N=L, la E=N) c) Si ambas letras están en la misma columna, son reemplazadas por la letra que hay debajo de cada una de ellas. (ejemplo: LA, la L=A, la A=G) d) Si una de las letras está en la parte inferior de la columna, es reemplazada por la letra de la parte superior de la columna: (ejemplo: ZU, la Z=N, la U=Z) e) Si las letras del dígrafo no están ni en la misma fila ni en la misma columna, entonces: Para codificar la primera letra, hay que mirar en su fila hasta llegar a la columna que contiene la segunda letra; la letra que hay en esa intersección reemplaza a la primera letra. (ejemplo: OX, la (O,X)=R) Para codificar la segunda letra, mirar en su fila hasta llegar a la columna que contiene a la primera letra, la letra que hay en la intersección reemplaza a la segunda letra. (ejemplo: OX, la (X,O)=W) Quedaría entonces: la O=R y la X=W. EJEMPLO: Si codificamos CERRAR, en pares: (CE) (RX) (RA) (RX) codificado: (DR)(CR)(LC)(CR) o DRCRLCCR Para todoesto hice el siguiente codigo pero no me salio: Option Base 1 Dim cuadrado(5, 5) As String Dim cadena, X
Private Sub Command1_Click()
cuadrado(1, 1) = "L" cuadrado(1, 2) = "O" cuadrado(1, 3) = "R" cuadrado(1, 4) = "E" cuadrado(1, 5) = "N" cuadrado(2, 1) = "A" cuadrado(2, 2) = "B" cuadrado(2, 3) = "C" cuadrado(2, 4) = "D" cuadrado(2, 5) = "F" cuadrado(3, 1) = "G" cuadrado(3, 2) = "H" cuadrado(3, 3) = "I" & "J" cuadrado(3, 4) = "K" cuadrado(3, 5) = "M" cuadrado(4, 1) = "P" cuadrado(4, 2) = "Q" cuadrado(4, 3) = "S" cuadrado(4, 4) = "T" cuadrado(4, 5) = "U" cuadrado(5, 1) = "V" cuadrado(5, 2) = "W" cuadrado(5, 3) = "X" cuadrado(5, 4) = "Y" cuadrado(5, 5) = "Z"
cadena= text1.text
X= len (cadena) For I = 1 To X
.....aqui ya no se como meter las condiciones y comparar caracter a caracter en mi text1 con los valores del array....
End SubSi me pudieran orientar se los agradecería
2
« en: Domingo 30 de Marzo de 2008, 23:53 »
hola nuevamente a todos y gracias por todas las aportaciones anteriores han sodo muy buenas, chequen este codigo y diganme que puedo hacer para que funcione correctamente...
es un cifrado pos sustitucion, de tal manera que disfrace mi mensaje sustituyendolo por una regla, es decir, un caracter por otro.
debe desplazar el alfabeto una determinada cantidad. Por ejemplo, si cada letra se desplaza tres lugares, entonces:
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
llegara a ser:
D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z,A,B,C
posteriormente se para codificar el mesaje, se sustituye el alfabeto real por el desplazado.
entonces pase parte de esto a Visual...
Dim cadena Dim X
Private Sub Command1_Click()
cadena= txt1.text
X = Len(cadena)
For I = 1 To X
if ((I+3) Mod 27) then
cifra = cifra & Mid(cadena,I,1)
End If
Next I
tct2.text = cifra
End Function
Al primcipio leo la cadena y me da cuantos caracteres tengo, meto despues un for, pero al hacer la operacion (sumatle al caracter 3 posiciones mas del alfabeto, y sacarle el mod para saber que letra la sustituira, no la hace) esa es mi duda.
Agradecería iuna vez mas al apoyo de todos..
3
« en: Viernes 28 de Marzo de 2008, 20:57 »
hola nuevamente....
tengo otra duda con los caracteres...
Private Sub Command1_Click()
cadena= txt1.text
X = Len(cadena)
txt2.Text = X
End Sub
mi cadena es ESTUDIOS, tengo en total 8 caracteres, como le hago para imprimir en un txt3.text primero todas las posiciones impares y luego los pares
de tal manera que en mi txt3.text quede de esta manera:
ETDOSUIS
y so lo hago con un array, como mando a imprimir las posiciones impares y luego las impares??
4
« en: Jueves 27 de Marzo de 2008, 23:05 »
ingreso una cadena de caracteres en un text, luego leo cuantos caracteres tiene con el len, y mi pregunta es ¿como le hago para recorrer esa cadena comparando caracter por caracter de tal manera que me cambie el valor real por otro de cada uno de los caracteres?
es decir la A=D, la B=E, y asi sucesivamente con cada letra de la cadena de caracteres, para eso tengo una formula que me toma el resto de una division (Mod)...
chequen....
A B C D E F G H I J … Z 0 1 2 3 4 5 6 7 8 9 … 26
mi cadena en el text es:
FEA
comparando cada caracter con la formula: y=(caracter+3) Mod 27
F=5 entonces y=(5+3)Mod 27... y=8...entonces para F la letra seria I E=4 emtonces y=(4+3)Mod 27... y=7...entonces para E la letra H A=0 emtonces y=(0+3)Mod 27... y=7...entonces para E la letra A
la cadena que apareceria en mi siguiente text seria: IHA
utilice el len para contar cuantos caracteres tengo...como le ago para lo anterior
modulo = 27
longitud = Len(txt1.Text)
For I = 1 To longitud siguiente = Mid(txt1.Text, I, 1)
operacion = (caracter + 3) Mod modulo
Next I
txt2.Text = operacion End Sub
5
« en: Miércoles 26 de Marzo de 2008, 19:39 »
Hola estoy tratando de programar el cifrado de cesar, pero tengo algunas dudas. Tengo un text1 y es ahi donde escribo lo que quiero cifrar, y un text2 donde debe aparecer lo que se cifra. utiulice el lenpara contar los caracteres del text, y la dornula se debe aplicar a cada caracter del text, y tomar los valores del mod que resulte de cada una de estas, no se como aplicar la formula cada caracter e imprimrirlo el text2 Hice lo siguiente, pero solo me cifro un caracter y de ahi nada. Dim operacion Dim modulo Dim A, B, C, D, E, F, G, H, I, J, L, M, N, Ñ, O, P, Q, R, S, T, U, V, W, X, Y, Z Private Sub Command1_Click() A = 0 B = 1 C = 2 D = 3 E = 4 F = 5 G = 6 H = 7 I = 8 J = 9 K = 10 L = 11 M = 12 N = 13 Ñ = 14 O = 15 P = 16 Q = 17 R = 18 S = 19 T = 20 U = 21 V = 22 W = 23 X = 24 Y = 25 Z = 26 modulo = 27 caracter = (A) Or ( Or © Or (D) Or (E) Or (F) Or (G) Or (H) Or (I) Or (J) Or (K) Or (L) Or (M) Or (N) Or (Ñ) Or (O) Or (P) Or (Q) Or ® Or (S) Or (T) Or (U) Or (V) Or (W) Or (X) Or (Y) Or (Z) longitud = Len(txt1.Text) For I = 1 To longitud siguiente = Mid(txt1.Text, I, 1) operacion = (caracter + 3) Mod modulo Next I txt2.Text = operacion End Sub Private Sub Command2_Click() txt1.Text = "" txt2.Text = "" End Sub ayundenme un poco porfa...
Páginas: [1]
|
|
|