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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Scripting / Re: [Bash Script] Ayuda por favor. Donde falla esta linea de codigo. en: 31 Mayo 2013, 13:11 pm
 >:D
2  Programación / Scripting / [Bash Script] Ayuda por favor. Donde falla esta linea de codigo. en: 29 Mayo 2013, 20:59 pm
Ok ya lo solucioné yo mismo. Gracias de todas formas.
3  Programación / Scripting / Re: [Bash] Alguien me dice donde falla donde me falla este codigo? en: 9 Mayo 2013, 20:12 pm
Si efectivamente, joder que chorrada. Ya lo habia sacado y te iba a decir que ya estaba solucionado.

Gracias por la informacion de todos modos Crack. ;-)
4  Programación / Scripting / Re: [Bash] Alguien me dice donde falla donde me falla este codigo? en: 9 Mayo 2013, 19:22 pm
Me suponia que algo estaba mal. Sabrias decirme como seria el algoritmo correcto?. Estoy empezando en esto de la programacion Bash Script y estoy muy verde aun.

Gracias por la ayuda.
5  Programación / Scripting / [Bash] Alguien me dice donde falla donde me falla este codigo? en: 9 Mayo 2013, 13:35 pm
Tema solucionado. gracias.
6  Programación / Scripting / Re: Donde falla este script. Alguien me puede ayudar?. Gracias. en: 14 Marzo 2013, 12:55 pm
Ok, gracias crack... si tenia un gran lio con las comparaciones dichosas.

No se me habia ocurrido comparar para el tema de la longitud con:
if %numero% LEQ 99999 .... para 5 digitos.. etc..

Solo con modificar la parte de mi codigo donde tenia comparado el numero con -1 ya funciona completamente bien el programa.

Joder aun no tengo mucha idea de esto de programación pero poco a poco como en todas las cosas se va avanzando.

Gracias una vez mas gracias por la ayuda.
7  Programación / Scripting / Re: Donde falla este script. Alguien me puede ayudar?. Gracias. en: 14 Marzo 2013, 12:05 pm
Ok ya esta modificado el post, disculpad no sabia eso.
8  Programación / Scripting / [BATCH] Donde falla este script. Alguien me puede ayudar?. Gracias. en: 14 Marzo 2013, 11:40 am
Hola, buenos dias. Necesito hacer funcionar correctamente el siguiente script que debe decirme si un numero es capicua o no (el numero tendrá un maximo de 5 cifras) usando unicamente las funciones que pongo en mi codigo ya que es programacion a nivel basico y no me permiten usar otro tipo de comandos para hacerlo.

De momento solo consigo que me funcione insertando un numero de 5 cifras, con menos cifras se me sale del programa o me dá un resultado incorrecto. A ver si alguien me dice donde está el fallo del mismo.

El codigo es el siguiente:
Código
  1. @Echo off
  2. setlocal enabledelayedexpansion
  3. title Ejercicio 9. Numeros Capicua
  4. set numero=""
  5. :comienzo
  6. echo ===========================================
  7. echo          Numero Capicua o no....
  8. echo ===========================================
  9. Set /P numero="Introduce un numero de 5 cifras "
  10. if %numero%=="" (
  11. goto error
  12. ) else (
  13. goto variables
  14. )
  15.  
  16. :variables
  17. set num1=%numero:~0,1%
  18. set num2=%numero:~1,1%
  19. set num3=%numero:~2,1%
  20. set num4=%numero:~3,1%
  21. set num5=%numero:~4,1%
  22. goto longitud
  23.  
  24. :longitud
  25. if !num5! gtr -1 (
  26. goto compara4
  27. )
  28. if !num4! gtr -1 (
  29. goto compara3
  30. )
  31. if !num3! gtr -1 (
  32. goto compara2
  33. )
  34. if !num2! gtr -1 (
  35. goto compara1
  36. )
  37. if !num1! gtr -1 (
  38. goto compara
  39. )
  40.  
  41. :compara
  42. echo El numero introducido es Capicua.
  43. goto fin
  44.  
  45. :compara1
  46. if !num1! equ !num2! (
  47. echo El numero introducido es Capicua.
  48. goto fin
  49. ) else (
  50. echo El numero introducido no es Capicua.
  51. goto fin
  52. )
  53. :compara2
  54. if !num1! equ !num3! (
  55. echo El numero introducido es Capicua.
  56. goto fin
  57. ) else (
  58. echo El numero introducido no es Capicua.
  59. goto fin
  60. )
  61.  
  62. :compara3
  63. if !num1! equ !num4! (
  64. if !num2! equ !num3! (
  65. echo El numero introducido es Capicua.
  66. goto fin
  67. )
  68. ) else (
  69. echo El numero introducido no es Capicua.
  70. goto fin
  71. )
  72.  
  73. :compara4
  74. if !num1! equ !num5! (
  75. if !num2! equ !num4! (
  76. echo El numero introducido es Capicua.
  77. goto fin
  78. )
  79. ) else (
  80. echo El numero introducido no es Capicua.
  81. goto fin
  82. )
  83.  
  84. :error
  85. echo ERROR! .No ha introducido ningun numero.
  86. goto comienzo
  87.  
  88. :fin
  89.  

Gracias a todos por su ayuda.
9  Programación / Scripting / Re: Ayuda con dudas de programacion batch en: 28 Febrero 2013, 11:31 am
Lo se pero no me funciona. Aun así, si fueras tan amable de explicarme para que sirven estas lineas de codigo... me gustaria entenderlo para saberlo hacer la proxima vez o cuando se me planteen otros ejercicios.

(ECHO "%WORD%">"%TEMP%\Word.txt" & FOR %%# IN ("%TEMP%\Word.txt") DO (SET /A "Word_Length=%%~z# - 5"))
- De esta linea entiendo que la variable WORD es sacada a un archivo de texto llamado Word.txt en la carpeta temp, supongo que el for es para asignar al simbolo de la almuadilla la cadena numerica que contiene el archivo Word.txt y ya donde me pierdo del todo es en esta parte del codigo: (SET /A "Word_Length=%%~z# - 5")),
se supone que es una operacion matematica, pero no la entiendo... para letras supongo que se referirá que tenga en cuenta de la a a la z, pero el - 5 para que sirve.. o si me lo pudieras explicar todo mejor.
-----------------------------------------------------------------------
Call Set "Compare_A=%%WORD:~0,%Word_Middle%%%"
Call Set "Compare_B=%%WORD:~-%Word_Middle%%%"
Estas lineas, la variable Comapre_A, supongo que se refiere a que dentro de la Variable Word se empieze a contar desde la posicion 0, pero no entiendo el resto, la coma que viene despues y la variable esa que no se de donde ha salido ni lo que hace %Word_Middle%, y si para datos numericos se aplica igualmente.
De la segunda variable Compare_B, entiendo que para la variable Word  esta vez es para que lea desde la ultima cifra o letra (~-) pero no entiendo porque esta vez la variable %Word_Middle% no va separado por una coma, deduzco que la coma es para decir que empieze a leer desde la ultima letra o cifra hasta la mitad... al no tener coma me lio y no entiendo porque se pone así.
-----------------------------------------------------------------------
FOR /L %%X in (1,1,%Word_Middle%) DO (Call Set "Compare_B_REVERSED=%%Compare_B_REVERSED%%%%Compare_B:~-%%X,1%%")
De esta linea llego a entender, que como en el caso de un palindromo el contenido de la variable es texto se pone For/L, en el caso del capicua se pondria For (sin /L, verdad?) aparte de eso %%X in (1,1,%Word_Middle%), no seria para que empieze a contar desde el digito o letra 0 así: %%X in (0,1,%Word_Middle%), entiendo que este bucle es para que el script cuente el numero de letras o numeros que hay hasta la mitad del contenido del numero o texto introducido por el usuario..
Por ultimo en esta linea me pierdo del todo:
Call Set "Compare_B_REVERSED=%%Compare_B_REVERSED%%%%Compare_B:~-%%X,1%%")
No entiendo si abres una nueva variable "Compare_B_REVERSED"= ....  porque se vuelve a poner esa variable con doble % y seguido con otro doble %..Compare_B:~-%%X,1%%" .

Me gustaria entender el codigo para no tener que estar preguntando a cada rato y hacerlo por mi mismo en futuros ejercicios.

Siento ser tan pesado. Gracias por ayudarme.

10  Programación / Scripting / Ayuda con dudas de programacion batch en: 27 Febrero 2013, 21:46 pm
Hola, alguien seria tan amable de decirme como puedo hacer para comparar una cadena numerica sin limite de longitud, los x primeros numeros con los x ultimos numeros.

Necesito realizar un programa que me diga si un numero introducido por un usuario es capicua o no y no doy con el script necesario para que me funcione y ya estoy desesperado.

He mirado mil foros y mil tutoriales de batch pero no consigo dar con la solucion.

Alquien me puede ayudar por favor?. Gracias.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines