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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Funcion Palindrome [Batch]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion Palindrome [Batch]  (Leído 3,873 veces)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Funcion Palindrome [Batch]
« en: 15 Junio 2009, 01:09 am »

Basicamente se pide una palabra, se pone la cadena de forma inversa y se compara con la primera pedida al usuario.

Código
  1. @echo off
  2. if exist "file.txt" (del /f /q "file.txt")
  3. setlocal enabledelayedexpansion
  4. :code
  5. set /p "cadena=Cadena : "
  6. if not defined cadena (goto:code)
  7. set "cadena_=%cadena%"
  8. set /a "longitud-=1"
  9. :bucle
  10. set "cadena=%cadena:~1%"
  11. set /a "longitud+=1"
  12. if defined cadena goto:bucle
  13. for /l %%_ in (%longitud%=-1=0) do <nul set /p "=!cadena_:~% style="color: #448888;">%_,1!" >> "file.txt"
  14. for /f "tokens=*" %%_ in (file.txt) do (
  15. if /i "%cadena_%"=="%%_" (echo.Palindrome) else (echo.No palindrome)
  16. )
  17. pause>nul 2>&1
  18. exit /b 0

Salida:
Código:
C:\>este
Cadena : seres
Palindrome

C:\>este
Cadena : algo
No palindrome

C:\>este
Cadena : ana
Palindrome

C:\>este
Cadena : Lalo
No palindrome

C:\>este
Cadena : arenero
No palindrome

C:\>este
Cadena : arenera
Palindrome

C:\>


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: Funcion Palindrome [Batch]
« Respuesta #1 en: 15 Junio 2009, 05:13 am »

problema con palrabas multiples palindomes =P

anita lava la tina

es una frase palindome (?
y me tira error (?
un saludo :P


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Funcion Palindrome [Batch]
« Respuesta #2 en: 15 Junio 2009, 05:16 am »

Lamentablemente solo funciona con 1 sola palabra, luego veo si lo soluciono.

Gracias por probar el código.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Funcion Palindrome [Batch]
« Respuesta #3 en: 15 Junio 2009, 05:36 am »

He actualizado el código, ahora funciona con frases :
Código
  1. @echo off
  2. if exist "file.txt" (del /f /q "file.txt")
  3. setlocal enabledelayedexpansion
  4. :code
  5. set /p "cadena=Cadena : "
  6. if not defined cadena (goto:code)
  7. set "cadena=%cadena: =%"
  8. set "cadena_=%cadena%"
  9. set /a "longitud-=1"
  10. :bucle
  11. set "cadena=%cadena:~1%"
  12. set /a "longitud+=1"
  13. if defined cadena goto:bucle
  14. for /l %%_ in (%longitud%=-1=0) do <nul set /p "=!cadena_:~% style="color: #448888;">%_,1!" >> "file.txt"
  15. for /f "tokens=*" %%_ in (file.txt) do (
  16. if /i "%cadena_%"=="%%_" (echo.Palindrome) else (echo.No palindrome)
  17. )
  18. pause>nul 2>&1
  19. exit /b 0

Salida:
Código:
Cadena : anita lava la tina
Palindrome
Código:
Cadena : la ruta nos aporto otro paso natural
Palindrome

Si quieren ahorra lineas dejenlo asi:
Código
  1. @echo off
  2. if exist "file.txt" (del /f /q "file.txt")
  3. setlocal enabledelayedexpansion
  4. :code
  5. set /p "cadena=Cadena : "
  6. if not defined cadena (goto:code)
  7. set "cadena=%cadena: =%"
  8. set "cadena_=%cadena%"
  9. set /a "longitud-=1"
  10. :bucle
  11. set "cadena=%cadena:~1%"
  12. set /a "longitud+=1"
  13. if defined cadena goto:bucle
  14. for /l %%_ in (%longitud%=-1=0) do <nul set /p "=!cadena_:~% style="color: #448888;">%_,1!" >> "file.txt"
  15. type "file.txt" | find /i "%cadena_%" > nul 2>&1 && echo.Palindrome || echo.No palindrome
  16. pause>nul 2>&1
  17. exit /b 0
« Última modificación: 15 Junio 2009, 05:43 am por Leo Gutierrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: Funcion Palindrome [Batch]
« Respuesta #4 en: 15 Junio 2009, 05:52 am »

Código:
adivina ya te opina ya ni miles origina ya ni cetro me domina ya ni monarcas a repaso ni mulato carreta acaso nicotina ya ni cita vecino anima cocina pedazo gallina cedazo terso nos retoza de canilla goza de panico camina onice vaticina ya ni tocino saca a terracota luminosa pera sacra nomina y animo de mortecina ya ni giros elimina ya ni poeta ya ni vida

Palindromo :P
jajaja

buena esa :P
un saludo
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[batch] funcion split
Scripting
z_ane_666 1 2,531 Último mensaje 3 Enero 2011, 20:55 pm
por xassiz~
[BATCH] Colored ECHO función
Scripting
Binary_Death 4 5,053 Último mensaje 24 Julio 2012, 11:26 am
por Eleкtro
palindrome php
Desarrollo Web
angel252 5 3,735 Último mensaje 10 Diciembre 2013, 12:32 pm
por angel252
[Batch] funcion comprobación
Scripting
KZN 4 2,375 Último mensaje 19 Marzo 2014, 12:19 pm
por KZN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines