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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 [2] 3 4
11  Programación / Programación C/C++ / Comparar string con retorno de carro , tabulador y demás caracteres especiales en: 21 Noviembre 2011, 23:10 pm
Hola a todos. Necesito parar un bucle al encontrar un caracter especial pero no lo consigo. Parece una pregunta trivial pero a más de uno seguro que le interesa. Gracias de antemano y dejo la forma que creía que funcionaria.
Código:
#include<string>
#include<iostream>
using namespace std;
int main(){
   string comando;   
   while(comando!="\n"){
      cin>>comando;
   }
   return 0;
}


12  Programación / Scripting / Re: Script adivinar numero en: 12 Noviembre 2011, 19:06 pm
Código:
#! /bin/bash
# La estrategia será proponer siempre el número mitad entre el tope superior y
# el inferior. Por conveniencia, partimos del intervalo [0,11], para que ambos
# extremos se consideren siempre como "ya probados"

myguess=`date +%N | cut -c2`
myguess=$(( $myguess+1 ))  # Aleatorio entre 1 y 10 a través de los nanosegundos
bottom=0
top=11

while true
do
    while true
    do
      echo -n "¿ El número es el $myguess ? "
      read respuesta
      case $respuesta in
          correcto)
              echo "¡¡ El número era el $myguess !!"
              exit
              ;;
          mayor)
              bottom=$myguess
              break
              ;;
          menor)
              top=$myguess
              break
              ;;
          *)
              echo "Conteste (correcto|mayor|menor)"
              continue
              ;;
      esac
    done
    antguess=$myguess
    myguess=$(( ($top+$bottom)/2 ))
    echo top=$top bottom=$bottom myguess=$myguess antguess=$antguess
    if [ $(( $bottom+1 )) -eq $top ]
    then
        echo "Tramposo: dijiste que el número era mayor que $bottom y menor que $top"
        break;
    fi
done


Aquí te dejo una buena solución , publicada por un profesor mio
13  Programación / Scripting / Re: [Bash]Saber valor del último parámetro sin bucle en: 26 Septiembre 2011, 12:25 pm
Código:
eval "echo \${$#}"
14  Programación / Scripting / [Bash]Saber valor del último parámetro sin bucle en: 23 Septiembre 2011, 22:54 pm
Hola. Tengo un script que te dice el primer y último parámetro pasado. El caso es que si quiero saber el último parámetro lo hago con un bucle y haciendo un shift hasta finalmente mostrar $1 que tendrá el valor del último parámetro. La pregunta es como listo de forma directa el valor sin recorrerlo? He pesando en que si $# tiene el número de parámetros  hacer como un $$# y mostrarlo pero no sé como. Espero su respuesta y dejo aquí la forma que tengo.
Código:
#!/bin/bash
if [ $# -eq 0 ]
then

  echo "No has pasado ningún parámetro"

elif [ $# -eq 1 ]
then
  echo "Sólo hay un parámetro que es $1"

else
  echo "El primer argumento es $1"
  for i in `seq 2 1 $#`
  do
    shift
  done
  echo "El último argumento es $1"
fi

15  Programación / Scripting / [Bash] Restar caracteres a una variable en: 11 Agosto 2011, 17:32 pm
Hola. Acabo de terminar un script que recibe como parámetro una variable numérica entera y debe de hacer un monton del tamaño que le digamos. Ejemplo:
./monton 5
        *
      ***                    
     *****
    *******
   *********

El problema está en que quiero restarle a una variable que se llama distancia en cada iteración un caracter " " para que salga así de cuadrado. Ejecutar el script para entenderlo del todo y gracias.
Código
  1. #!/bin/bash
  2. echo $1 | grep -x -q "[0-9]\+"
  3. num=$?
  4. if [ \( $# != 1 \) ] || [ \( $num != 0 \) ]
  5. then
  6.  echo "Llama con un único argumento y que sea numérico"
  7.  exit 1
  8. fi
  9.  
  10. lineas=$1
  11. control=1
  12. char="*"
  13. pintadas=0
  14. j=1
  15. espacio=" "
  16.  
  17. while [ $j -lt $lineas ]
  18. do  
  19.  distancia=$distancia$espacio  
  20.  let j=j+1
  21. done
  22.  
  23. while [ $pintadas -lt $lineas ]
  24. do
  25.  echo -n "$distancia"       #Esta es la variable a la que quiero restarle espacios
  26.  for i in `seq 1 1 $control`
  27.  do    
  28.    echo -n "$char"
  29.  done
  30.  echo -e "\r"
  31.  let control=control+2
  32.  let pintadas=pintadas+1  
  33. done
  34.  
  35.  
16  Programación / Scripting / [Bash] Orden find se lia en: 2 Agosto 2011, 12:07 pm
Hola. Estoy utilizando la orden find para que muestre en el directorio actual los ficheros regulares cuyo nombre comience por ejemplo por g , es decir , le introduzco como parámetro al guión g*. Pero al hacer las pruebas me muestra únicamente un fichero. La llamada tiene que ser ./nombrescript letra*
Código:
find -maxdepth 1 -type f -name "$1"| cut -c 3- > tx1 
17  Programación / Programación General / Re: Ejercicio Examen Universiad en: 29 Julio 2011, 17:34 pm
Gracias tio. Me estaba liando yo con una cosa y por eso lo pensaba de otra forma pero ya lo he resuelto. Creo que seria así

Código:

calculabus:acción(dato entrada:horario,dato salida:hora;dato-resultado bus:hora)
  Léxico
  -------
    i,j:entero,
    tmin,emin:entero;
    
  Algoritmo
  -----------
   i:=1;
   j:=2;
   emin:=salida.h*60+salida.m;
   tmin:=-1;
   MIENTRAS (i <> nf+1) Y (emin > tmin) HACER
      tmin:=entrada[i][j].h*60+entrada[i][j].m;
      SI (tmin >= emin) Y (i=0) ENTONCES
          bus.h:=entrada[i][1].h;
          bus.m:=entrada[i][1].m

      SI_NO (SI tmin >= emin) Y (i>0) ENTONCES
          bus.h:=entrada[i-1][1].h;
          bus.m:=entrada[i-1][1].m

      FIN_SI
      i:=i+1;
   FIN_MIENTRAS
FIN.







18  Programación / Programación General / Re: Ejercicio Examen Universiad en: 26 Julio 2011, 22:38 pm
Mmm creo que no me he explicado bien. Mira el enunciado del link y verás como así lo entiendes. Gracias de todos modos
http://view.samurajdata.se/psview.php?id=f597e449&page=1&all=1
19  Programación / Programación General / Ejercicio Examen Universiad en: 26 Julio 2011, 12:48 pm
Hola a todos. Estoy intentando resolver un ejercicio de  un examen de la universidad y me las estoy viendo  negras y encima es una asignatura de introducción. Primero definimos un tipo para representar las horas. Nos dice expresamente que son 4 dígitos:

hora=TIPO<h1,h2,m1,m2:entero>

Ahora un tipo para definir un horario que se compone de la hora de salida y llegada de un bus desde Murcia hasta Alicante. Conclusión:Una tabla bidimensional de dos columnas y como nos dice un máximo de 100 buses 100 filas:

horario=TIPO TABLA [1..100,1..2] de hora

Hasta ahí perfecto. Ahora hay que hacer un procedimiento/acción que reciba el horario y una hora deseada como parámetros de entrada y en un parámetro de salida almacene la hora de salida de Murcia del autobús que llegue a Alicante a la hora más próxima a la que le hemos pasado. No sé si es sencillo pero al tener el tipo definido con 4 dígitos y la tabla estar compuesta igual no consigo hacerlo funcionar bien.

Espero sus respuestas/ideas. Muchas gracias a todos
20  Programación / Scripting / Re: [Bash] Problema con array en: 21 Julio 2011, 10:15 am
lexicográficamente. Ya lo he resuelto , he cambiado de orden los if y funciona y bueno lo he terminado
Código:
http://pastebin.com/SzvxLD2P
Páginas: 1 [2] 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines