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 - migueluc

#1
Para empezar parece que numd tiene un tamaño predefinido de 4, que igual no es lo que necesitas; te recomiendo que uses un arraylist o algún tipo de collection ya que son dinámicas.

Un error que veo es que en la línea 22 estás comparando numd[k] con numd[k], y eso siempre es TRUE porque estás comparando el mismo número.

De todas formas te aconsejo que revises un poco el algoritmo; quizás te vendría bien plantearlo en papel antes de codificar.
#2
Varías cosas que deberías tener en cuenta antes de preguntar una duda:

- Describir/mostrar exactamente las líneas de código que te causen la duda/error.

- Usar la función de insertar código que proporciona el foro.

- No esperar que mágicamente te resuelvan el problema. Deberías indagar un poco por internet. Te recomiendo StackOverflow.
#3
Deberías ser un poco más concreto con tu duda; mostrar parte del código que tengas hecho hasta ahora ayudaría bastante.

Lo primero que se me ocurre es que simplemente copies en una lista auxiliar los valores de L2, luego mueves los valores de L1 a L2 y finalmente copias la lista auxiliar en L1.

Otra forma es hacer un puntero auxiliar que apunte a L2, hacer que L2 apunte a L1 y finalmente que L1 apunte al puntero auxiliar.

Es el típico caso de:

LAux -> L2
L2 -> L1
L1 -> LAux

muy utilizado para intercambiar el valor de los datos entre dos variables.
#4
Programación C/C++ / Re: Duda ejercicio en C
30 Junio 2017, 19:04 PM
Yo hice algo parecido en Java: lo que hice fue un bucle que cogiera una linea de entrada por consola (es decir, que cogiera lo último escrito antes de pulsar ENTER) y que divida la línea en 2 trozos. Compruebas el primer "trozo" para ver que no sea "FIN" y haces con él lo pertinente.

public void run(){

Scanner scanner = new Scanner(System.in);

while(true){

System.out.println("Introduzca el nombre del comando y sus argumentos");

String comando = scanner.nextLine();

String[] comandos = comando.split(" ");

// Si se introduce un enter: return (fin)
if(comando.isEmpty()){
return;
}

Function func = commands.get(comandos[0]);

if (func == null){

System.out.println("Comandos disponibles:");

ArrayList<String> lista = new ArrayList<String>(commands.keySet());

for (String nombre : lista){

System.out.println(nombre);

}

}else{

if(comandos.length == 1){
func.execute();
}else if (comandos.length > 2){
throw new IllegalArgumentException("Numero de argumentos introducidos invalido");
}else
func.execute(comandos[1]);
}


}


}



Sé que seguramente no sepas Java pero quizás te ayude visualizarlo desde otra perspectiva. Al fin y al cabo tu ejercicio se puede hacer en varios lenguajes, por lo que el algoritmo es similar.