Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - hervasiop12345

#11
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.

#include<string>
#include<iostream>
using namespace std;
int main(){
   string comando;   
   while(comando!="\n"){
      cin>>comando;
   }
   return 0;
}


#12
Scripting / Re: Script adivinar numero
12 Noviembre 2011, 19:06 PM

#! /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
eval "echo \${$#}"
#14
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.

#!/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
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 (bash) [Seleccionar]

#!/bin/bash
echo $1 | grep -x -q "[0-9]\+"
num=$?
if [ \( $# != 1 \) ] || [ \( $num != 0 \) ]
then
 echo "Llama con un único argumento y que sea numérico"
 exit 1
fi

lineas=$1
control=1
char="*"
pintadas=0
j=1
espacio=" "

while [ $j -lt $lineas ]
do  
 distancia=$distancia$espacio  
 let j=j+1
done

while [ $pintadas -lt $lineas ]
do
 echo -n "$distancia"       #Esta es la variable a la que quiero restarle espacios
 for i in `seq 1 1 $control`
 do    
   echo -n "$char"
 done
 echo -e "\r"
 let control=control+2
 let pintadas=pintadas+1  
done

#16
Scripting / [Bash] Orden find se lia
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*

find -maxdepth 1 -type f -name "$1"| cut -c 3- > tx1
#17
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í



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
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
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
Scripting / Re: [Bash] Problema con array
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