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

#51
Java / Arreglar vector de menor a mayor?
11 Noviembre 2009, 23:42 PM
Chicos, yo de nuevo...Me pidieron que ordenara un vector de menor a mayor luego de leerlo, nunca lo habia hecho y creo que tengo la idea pero...no estoy segura? La cosa es que no se si existe algun metodo que lo haga directo, o tengo que hacerlo a mano? Habia pensado algo como esto:

public static void ordenar(int v[],int o[]) {
int x,min=v[0];
int segundo=v[0];
int t=0;
for (x=1;x<v.length;x++){
min = Math.min(min,v[x]);
}
o[t]=min;
t++;

for (x=0;x<v.length;x++){
if ((segundo>min) && (segundo<v[x])){
segundo=v[x];
o[t]=segundo;
t++;
}
}
System.out.println("t vale: "+t);
System.out.println ("segundo es:"+segundo);

for (x=0;x<o.length;x++){
System.out.print(o[x]+" ");
  System.out.println ("\n");
}
}


Como ven, v es el vector original, y O es el vector ordenado...

las lineas de System.out.println("t vale: "+t);
System.out.println ("segundo es:"+segundo);

solo son para "control" mio, ya que veo que el segundo "menor" valor no lo agarra, ni que se ejecuta la condicion del if...

pueden darme una mano?  :-[

Gracias...

P.D: Encontré un ejemplo en C# pero realmente no entendí  :-\ :-\
#52
Java / Re: Nueva en Java y tengo una pregunta?
10 Noviembre 2009, 16:18 PM
No, no entiendo porque...me di cuenta y tenia un error "a debe ser menor y diferente de b", pues debo imprimir los numeros en ese intervalo
#53
Java / Re: Nueva en Java y tengo una pregunta?
10 Noviembre 2009, 05:53 AM
Hola, Gracias por tu ayuda! Tenia algo asi en mente, solo que no lo aplique por no estar segura...

La cosa es que probablemente tenga un error en la expresion

do{
System.out.println ("Inserte valor a: ");
System.out.flush();
a = Integer.parseInt(en.readLine());
System.out.println ("\nInserte valor b: ");
System.out.flush();
b = Integer.parseInt(en.readLine());
*** if ((a>b) && (a!=b)){
System.out.println ("\nel valor a debe ser menor que el valor b");

}
*** }while ((a>b) && (a!=b));


Pues aunque ingrese el mismo valor, igual me imprime en el caso de (a=15, b=15), asi que, es como si se salta el a!=b, estoy haciendo algo mal?

Y de nuevo, perdonen mi idiotez en el tema...estoy tratando de aprender a hacer las cosas "bien". No me conformo con solo probar si funciona de una manera y dejarlo asi, si no, los problemas que se pueden presentar y atacarlos de una sola manera.

Por cierto, casidiablo, gracias por el maravilloso link que me enviaste, y te tengo una pregunta, me llego un mensaje diciendo que habia violado las normas, pero... no se que norma o regla violé, si me podrias decir para no cometerlo de nuevo? Gracias!  :rolleyes:
#54
Java / Nueva en Java y tengo una pregunta?
10 Noviembre 2009, 05:13 AM
Chicos, hice este programa...
import java.io.*;

public class mece2n {
/* Ejercicio #1, Guia Info 2:
*1. Leer dos números y mostrar todos los enteros comprendidos entre ellos.
*/

public static void main(String[] args) throws IOException {
int a,b,i;
BufferedReader en = new BufferedReader (new InputStreamReader (System.in));
System.out.println ("valor a debe ser mayor a valor b");
System.out.println ("Inserte valor a: ");
System.out.flush();
a = Integer.parseInt(en.readLine());
System.out.println ("\nInserte valor b: ");
System.out.flush();
b = Integer.parseInt(en.readLine());
if (a>b){
System.out.println ("\nel valor a debe ser mayor que el valor b");

}

System.out.println ("\nLos numeros entre " +a+ " y " +b+ " son:\n");
   for (i=a+1;i<b;i++){

      System.out.println (i);
   }

}
}


Y queria saber si habia alguna manera de 1.- En caso que el if se ejecute, luego de mostrar el mensaje, regrese a la instruccion anterior de leer los valores...

2.- En caso que la condicion del if siga siendo verdadera, repetir la instruccion

System.out.println ("valor a debe ser mayor a valor b");
System.out.println ("Inserte valor a: ");
System.out.flush();
a = Integer.parseInt(en.readLine());
System.out.println ("\nInserte valor b: ");
System.out.flush();
b = Integer.parseInt(en.readLine());

tantas veces como sea necesario, hasta que se inserten los valores correctos...

Perdonen, que quizas es una estupidez, este es el segundo "programa" que hago...me estoy iniciando  :rolleyes: