Domingo 22 de Diciembre de 2024, 12:41
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Desencriptar clave
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Desencriptar clave (Leído 2809 veces)
lolita23
Nuevo Miembro
Mensajes: 6
Desencriptar clave
«
en:
Jueves 9 de Julio de 2009, 18:38 »
0
Bueno pues lo que tengo que hacer ahora es lo siguiente:
Me dan una palabra y lo que tengo que hacer es invertir cuando hay 2 vocales o mas seguidas.
Por ejemplo:
puerta-->peurta
Esto es lo que he hecho, si alguien me lo pudiera revisar....
MUCHAS GRACIAS.
Código: Pascal
PROCEDURE
encriptar
(
VAR
palabra
:
string
)
VAR
pila
:
tPila;
cola
:
tCola;
Car1
,
Car2
:
Char
;
I
:
Integer
;
BEGIN
CrearPila
(
pila
)
;
CrearCola
(
cola
)
;
FOR
(
I
:=
1
to
length
(
palabra
)
)
DO
Begin
IF
(
palabra
[
I
]
Not
in
[
'a'
,
'e'
,
'i'
,
'o'
,
'u'
]
)
THEN
MeterEnCola
(
palabra
[
I
]
,
cola
)
;
ELSE
Apilar
(
palabra
[
I
]
,
pila
)
;
REPEAT
SacarDeCola
(
Car1
,
cola
)
;
Desapilar
(
Car2
,
pila
)
;
UNTIL
(
EsVacia
(
cola
)
OR
EsVacia
(
Pila
)
=
True
)
END
;
{fin}
Tweet
eternity
Miembro activo
Mensajes: 78
Nacionalidad:
Re: Desencriptar clave
«
Respuesta #1 en:
Martes 21 de Julio de 2009, 23:06 »
0
por que con una pila... si es mucho mas fácil teniendo un string al que podes acceder a traves de índices?
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: Desencriptar clave
«
Respuesta #2 en:
Jueves 23 de Julio de 2009, 13:06 »
0
A mí me parece perfecto que use una pila.
Fr33k K0mpu73r
eternity
Miembro activo
Mensajes: 78
Nacionalidad:
Re: Desencriptar clave
«
Respuesta #3 en:
Jueves 23 de Julio de 2009, 17:12 »
0
yo no digo que no este perfecto... pero el poco codigo que puso no me dice lo suficiente para afirmar que sea lo mejor o lo peor el uso de una pila
lolita23
Nuevo Miembro
Mensajes: 6
Re: Desencriptar clave
«
Respuesta #4 en:
Viernes 24 de Julio de 2009, 00:28 »
0
Bueno, pero en caso de usar la pila esta bien como lo hice???
aguila3000
Miembro activo
Mensajes: 26
Nacionalidad:
Re: Desencriptar clave
«
Respuesta #5 en:
Martes 4 de Agosto de 2009, 00:48 »
0
Bueno usando pilas y colas el algoritmo seria mas o meno asi :
Código: Pascal
PROCEDURE
encriptar
(
VAR
palabra
:
string
)
Var
Pila
:
TPila;
Cola
:
TCola;
Car
:
Char
;
i
:
Integer
;
sacarpila
:
boolean
;
aux
:
string
;
Begin
sacarpila
:=
false
;
i
:=
1
;
While
(
i<length
(
palabra
)
)
do
Begin
if
Not
(
palabra
[
i
]
in
[
'a'
,
'e'
,
'i'
,
'o'
,
'u'
]
)
then
Cola.
Meter
(
palabra
[
i
]
)
else
Begin
While
(
palabra
[
i
]
in
[
'a'
,
'e'
,
'i'
,
'o'
,
'u'
]
)
do
Begin
Pila.
Meter
(
palabra
[
i
]
)
;
i
:=
i
+
1
End
;
sacarpila
:=
true
;
i
:=
i
-
1
End
;
if
sacarpila
then
Begin
While
Not
(
Pila.
EsVacia
)
do
Begin
car
:=
Pila.
Sacar
;
Cola.
Meter
(
car
)
End
;
sacarpila
:=
false
End
;
i
:=
i
+
1
End
;
While
Not
(
Cola.
EsVacia
)
do
aux
:=
aux
+
Cola.
Sacar
;
palabra
:=
aux;
End
;
Estoy asumiendo que TPila y TCola, son Clases y contiene los métodos Sacar,Meter y EsVacia.
En caso estes usando Procedmientos y funciones y no clases entonces debes hacer los cambios pertinentes.
El procedimiente se puede resumir en el siguient enunciado :
Recorrer todas las letras en palabra, cuando una letra es una consonate entonces lo colocas en la cola, y cuando son vocales loc colocas en la pila, ni bien termines de colocar las letras en la pila los sacas de la pila para colocarlas en la cola, y el proceso se repite hasta terminar con la palabra.
Espero te ayude en algo.
suerte
m0skit0
Miembro de PLATA
Mensajes: 2337
Nacionalidad:
Re: Desencriptar clave
«
Respuesta #6 en:
Martes 4 de Agosto de 2009, 13:45 »
0
aguila3000, lolita23 tiene bien el código. No se trata de volver a hacerlo, sino si es correcto de esa manera (que es lo que pregunta). Y lo es. El tuyo es más enrevesado y más lento, aunque usa menos memoria en pila. Échale un vistazo a la recursividad que usa lolita23, que personalmente creo que es la mejor manera de hacer estos problemas.
Saludos
Fr33k K0mpu73r
lolita23
Nuevo Miembro
Mensajes: 6
Re: Desencriptar clave
«
Respuesta #7 en:
Martes 4 de Agosto de 2009, 13:55 »
0
Muchas gracias a todos por vuestra ayuda, finalmente opte por mi solución xq me resulta mas fácil y mas sencilla.
Graciasss.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Pascal
»
Desencriptar clave