• Viernes 26 de Abril de 2024, 06:39

Mostrar Mensajes

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


Mensajes - kas09013

Páginas: [1]
1
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Jueves 26 de Mayo de 2011, 05:42 »
Muchisimas gracias!!! mee az salvadoo :) gracias!!!!!!!!

2
Java / Ordenacion mergesort
« en: Miércoles 25 de Mayo de 2011, 00:01 »
necesito ayuda con el programa de mergesort, si se ejecuta bien pero el que deberia ir en primera posicion lo pone en la segunda y en la primera posicion pone 0, alguna idea del porque?

Código: Java
  1.  import java.io.*;//Libreria De Java Para Ingresar Datos Desde Teclado
  2. class Mergesort1{// Nombre de La Clase
  3. public int mergesort (int v[], int p, int q)
  4. {
  5. // Ordena el fragmento v[p..q] del vector v
  6.  
  7. if (p < q)
  8. {
  9. int k = (p+q) / 2; // pto. medio del vector
  10. mergesort (v,p,k); // Ordenando la primera mitad
  11. mergesort (v,k+1,q); // Ordenando la seguda mitad
  12. combinar(v,p,k+1,q); // uniendo las dos mitades
  13. }
  14.  
  15. }
  16.  
  17. private void combinar(int v[], int p, int m, int q)
  18. {
  19. int combinado[] = new int[q-p+1];
  20.  
  21. int p1 = p;
  22. int p2 = m;
  23. int p3 = 0;
  24.  
  25. /* combinado[0..p3-1] : cuenta los elementos ordenados de
  26. v[p..p1-1] y v[m..p2-1] */
  27. while (p1 < m && p2 <= q)
  28. {
  29. if (v[p1] < v[p2])
  30. {
  31. combinado[p3] = v[p1];
  32. p1 = p1+1;
  33. }else
  34. {
  35. combinado[p3] = v[p2];
  36. p2 = p2+1;
  37. }
  38. p3 = p3+1;
  39. }
  40.  
  41. // X: (p1 == m) / (p2 = q+1)
  42. // Dels seguents bucles, nomes un d'ells s'executara alguna vegada
  43. // Es posen els elements que resten d'una taula a combinado.
  44.  
  45. while (p1 < m)
  46. {
  47. combinado[p3] = v[p1];
  48. p1 = p1+1;
  49. p3 = p3+1;
  50. }
  51.  
  52. while (p2 <= q)
  53. {
  54. combinado[p3] = v[p2];
  55. p2 = p2+1;
  56. p3 = p3+1;
  57. }
  58.  
  59. // Es copia combinado (ja esta ordenat) a v
  60. for (int i=0; i < q-p+1; i++)
  61. {
  62. v[p+i] = combinado[i];
  63. }
  64. }
  65.  
  66.  

3
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Martes 24 de Mayo de 2011, 23:08 »
:) gracias por tu ayudaa ya pude terminarlo :)

4
Java / Re: seleccion recursiva
« en: Martes 24 de Mayo de 2011, 23:07 »
ya lo encontre :) fiinn de seleccion recursiva

5
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Martes 24 de Mayo de 2011, 22:51 »
esto de recursividad no me sale, lo eh vuelto a cambiar por que no hacia bien los cambios si lo acomodaba pero no por orden de seleccion eh cambiado el codigo pero solo me  imprime el primer cambio alguna sugerencia?
Código: Java
  1.   import java.io.*;//Libreria De Java Para Ingresar Datos Desde Teclado
  2. class SeleccionRecursivo5{// Nombre de La Clase
  3. public static int Seleccion(int v[], int n, int m){
  4. int i=0, j, min, k, l;
  5.      int cambio;
  6.      if (m<n) {
  7.  min=v[i];// Asignacion Del Valor En La Variable Min En El Arreglo a[i]
  8.              k=0;// Asignacion De 0 A La Variable k
  9.              cambio=0;//Asignacion de 0 A La Variable cambio
  10.          for(j=m+1; j<n; j++)//For Para Seguir Ordenando Numeros
  11.            if(v[j]<min)//If Que Compara Valor Del Arreglo a[j] Con min
  12.              min=v[j];//Asignacion Del Valor De La Variable min En El Arreglo a[j]
  13.              k=j;//Asigna Valor De k En j
  14.              cambio=1;//A Cambio Le Asigna El valor De 1
  15.              
  16.            
  17.           if(cambio==1){// Comparacion Del Valor de Cambio
  18.             v[k]=v[i];// Asignacion Del Valor Del arrreglo a[k] en a[i]
  19.             v[i]=min;// Asignacion Del Valor Del Arreglo a[i] En La Variable Min
  20.             System.out.println(" ");
  21.               for (l=0; l<n; l++){// For Para Imprimir La Ordenacion De Los Numeros
  22.               System.out.print("|");
  23.               System.out.print(v[l] + "|");
  24.              }
  25.            }
  26.            
  27. return  Seleccion(v,n,m+1);
  28. }else{
  29. return 0;
  30. }
  31. }
  32. public static void main(String args[])throws IOException{
  33. long tiempoInicio = System.currentTimeMillis();
  34.     int n,m=0;
  35.     int v[]=new int [15];//Declaracion De Arreglo
  36.     int res;// Declaracion De Variable
  37.         System.out.println ( "n||************** Metodo De Odenacion Seleccion **************|| n||                                                         || ");
  38.        System.out.println ( "||   1.-Cantidad De Numeros A Ordenar:            ||");
  39.        System.out.print( "||      ");
  40.         n=Integer.parseInt(res1.readLine());//Lee Los Datos Introducidos Desde Teclado
  41.        System.out.println ( "||   2.-Numeros A Ordenar:                    ||");
  42.             for (int i=0; i<n; i++){// Ciclo For Para Pedir que Indroduzca Los Valores
  43.                 System.out.print( "||      ");
  44.                 v[i]=Integer.parseInt(res1.readLine());}// Lee y Almacena Los Datos Desde teclado En El Arreglo
  45.                 System.out.println("||   3.-Ordenacion De Numeros                  ||  n");
  46.                      for (int i=0; i<n; i++){//Ciclo For Para La Ordenacion de Numeros
  47.                         System.out.print("|");
  48.                         System.out.print(v[i] + "|");
  49.                         }
  50.        System.out.println(" ");
  51.        res=Seleccion(v,n,m);//Llama All Metodo anterior Para Que Devuelva Datos
  52.        long totalTiempo = System.currentTimeMillis() - tiempoInicio;// Funcion Que Mide El Tiempo Y Calcula El Tiempo Total Empleado A Partir De La Diferencia Del Tiempo Inicial Y Final
  53.        System.out.println("n||El tiempo total de la ejecucion es :" + totalTiempo + " miliseg");
  54.        System.out.println ( "n||**********************************************************||");
  55.      
  56.       }    
  57. } //f
  58.  

6
Java / Re: seleccion recursiva
« en: Martes 24 de Mayo de 2011, 22:49 »
:) graciass ya me salio

7
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Martes 24 de Mayo de 2011, 20:46 »
ya lo hicee! :) pero no me los ordena bien alguna idea?
 import java.io.*;//Libreria De Java Para Ingresar Datos Desde Teclado
class SeleccionRecursivo2{// Nombre de La Clase
public static int Seleccion(int v[], int n){
int i, minimo,l;
   if (n>=1) {
      minimo=0;
   for(i=1;i<n;i++)
      if(v<v[minimo])
      minimo=i;
      i=v[0];
      v[0]=v[minimo];
      v[minimo]=i;
   
   
   return   Seleccion(v,n-1);
   }else{
   return 0;
}
}
public static void main(String args[])throws IOException{
BufferedReader res1=new BufferedReader(new InputStreamReader(System.in));
long tiempoInicio = System.currentTimeMillis();
   int n;
   int v[]=new int [15];//Declaracion De Arreglo
   int res;// Declaracion De Variable
        System.out.println ( "n||************** Metodo De Odenacion Seleccion **************|| n||                                                         || ");
       System.out.println ( "||   1.-Cantidad De Numeros A Ordenar:           ||");
       System.out.print( "||      ");
       n=Integer.parseInt(res1.readLine());//Lee Los Datos Introducidos Desde Teclado
       System.out.println ( "||   2.-Numeros A Ordenar:                     ||");
             for (int i=0; i<n; i++){// Ciclo For Para Pedir que Indroduzca Los Valores
                System.out.print( "||      ");
               v=Integer.parseInt(res1.readLine());}// Lee y Almacena Los Datos Desde teclado En El Arreglo
                System.out.println("||   3.-Ordenacion De Numeros                 ||  n");
                   for (int i=0; i<n; i++){//Ciclo For Para La Ordenacion de Numeros
                      System.out.print("|");
                      System.out.print(v + "|");
                      }
       System.out.println(" ");
       res=Seleccion(v,n);//Llama All Metodo anterior Para Que Devuelva Datos
       long totalTiempo = System.currentTimeMillis() - tiempoInicio;// Funcion Que Mide El Tiempo Y Calcula El Tiempo Total Empleado A Partir De La Diferencia Del Tiempo Inicial Y Final
      System.out.println("n||El tiempo total de la ejecucion es :" + totalTiempo + " miliseg");
       System.out.println ( "n||**********************************************************||");
     
      }    
} //fin clase seleccion recursivo

8
Java / seleccion recursiva
« en: Martes 24 de Mayo de 2011, 20:12 »
ayuuda por favor! estoi haciendo seleccion recursivo pero no me los ordena bien alguna idea del porque? aqui esta mi codigo:
 import java.io.*;//Libreria De Java Para Ingresar Datos Desde Teclado
class SeleccionRecursivo2{// Nombre de La Clase
public static int Seleccion(int v[], int n){
int i, minimo,l;
   if (n>=1) {
      minimo=0;
   for(i=1;i<n;i++)
      if(v<v[minimo])
      minimo=i;
      i=v[0];
      v[0]=v[minimo];
      v[minimo]=i;
   
   
   return   Seleccion(v,n-1);
   }else{
   return 0;
}
}
public static void main(String args[])throws IOException{
BufferedReader res1=new BufferedReader(new InputStreamReader(System.in));
long tiempoInicio = System.currentTimeMillis();
   int n;
   int v[]=new int [15];//Declaracion De Arreglo
   int res;// Declaracion De Variable
        System.out.println ( "n||************** Metodo De Odenacion Seleccion **************|| n||                                                         || ");
       System.out.println ( "||   1.-Cantidad De Numeros A Ordenar:           ||");
       System.out.print( "||      ");
       n=Integer.parseInt(res1.readLine());//Lee Los Datos Introducidos Desde Teclado
       System.out.println ( "||   2.-Numeros A Ordenar:                     ||");
             for (int i=0; i<n; i++){// Ciclo For Para Pedir que Indroduzca Los Valores
                System.out.print( "||      ");
               v=Integer.parseInt(res1.readLine());}// Lee y Almacena Los Datos Desde teclado En El Arreglo
                System.out.println("||   3.-Ordenacion De Numeros                 ||  n");
                   for (int i=0; i<n; i++){//Ciclo For Para La Ordenacion de Numeros
                      System.out.print("|");
                      System.out.print(v + "|");
                      }
       System.out.println(" ");
       res=Seleccion(v,n);//Llama All Metodo anterior Para Que Devuelva Datos
       long totalTiempo = System.currentTimeMillis() - tiempoInicio;// Funcion Que Mide El Tiempo Y Calcula El Tiempo Total Empleado A Partir De La Diferencia Del Tiempo Inicial Y Final
      System.out.println("n||El tiempo total de la ejecucion es :" + totalTiempo + " miliseg");
       System.out.println ( "n||**********************************************************||");
     
      }    
} //fin clase seleccion recursivo

9
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Martes 24 de Mayo de 2011, 20:02 »
Muchas garcias! :) si ya ahora si corre bien , pero que cres! no hace lo que quiero creo que lo no hice bien por que no los acomoda como el ordenamiento de seleccion! o.O lo ordena como inserccion !u.U ya me estresee u.u empezzare de nuevo a crearlo si tienes un ejemplo de seleccion recursivo te lo agradeceria muucho. Sino de todas formas muchisiimas gracias :)

10
Java / metodo sin fin
« en: Lunes 23 de Mayo de 2011, 06:34 »
u.U! ya no me sale el error se exception in thread main java.lang.stackover, pero ahora se me cicla, me imprime el arreglo ordenado demasiadas veces! u.u le cambie el if por un if con else y no, lo cambie por un while, y no por un do while y tampoco! :/ tienen idea de que es lo que hace mal?, u.u mi codigo quedo asi;
import java.io.*;//Libreria De Java Para Ingresar Datos Desde Teclado
class SeleccionRecursivo{// Nombre de La Clase
public static int Seleccion(int numeros[], int k){
int aux, i=0, l,posMayor=0;
do{
      for(i=1; i<k;i++){

      if(numeros>numeros[posMayor]){
      posMayor=i;
      }
      aux=numeros[k-1];
      numeros[k-1]=numeros[posMayor];
      numeros[posMayor]=aux;
   
}
   System.out.println(" ");
              for (l=0; l<k; l++){// For Para Imprimir La Ordenacion De Los Numeros
              System.out.print("|");
              System.out.print(numeros[l] + "|");
             }
}while(k>1);
return Seleccion(numeros, k-1);

}

public static void main(String args[])throws IOException{
BufferedReader res1=new BufferedReader(new InputStreamReader(System.in));
long tiempoInicio = System.currentTimeMillis();
   int n;
   int v[]=new int [15];//Declaracion De Arreglo
   int res;// Declaracion De Variable
        System.out.println ( "n||************** Metodo De Odenacion Seleccion **************|| n||                                                         || ");
       System.out.println ( "||   1.-Cantidad De Numeros A Ordenar:           ||");
       System.out.print( "||      ");
       n=Integer.parseInt(res1.readLine());//Lee Los Datos Introducidos Desde Teclado
       System.out.println ( "||   2.-Numeros A Ordenar:                     ||");
             for (int i=0; i<n; i++){// Ciclo For Para Pedir que Indroduzca Los Valores
                System.out.print( "||      ");
               v=Integer.parseInt(res1.readLine());}// Lee y Almacena Los Datos Desde teclado En El Arreglo
                System.out.println("||   3.-Ordenacion De Numeros                 ||  n");
                   for (int i=0; i<n; i++){//Ciclo For Para La Ordenacion de Numeros
                      System.out.print("|");
                      System.out.print(v + "|");
                      }
       System.out.println(" ");
       res=Seleccion(v,n);//Llama All Metodo anterior Para Que Devuelva Datos
       long totalTiempo = System.currentTimeMillis() - tiempoInicio;// Funcion Que Mide El Tiempo Y Calcula El Tiempo Total Empleado A Partir De La Diferencia Del Tiempo Inicial Y Final
      System.out.println("n||El tiempo total de la ejecucion es :" + totalTiempo + " miliseg");
       System.out.println ( "n||**********************************************************||");
     
      }    
}

11
Java / Re: error Exception in thread "main" java.lang.StackOver
« en: Lunes 23 de Mayo de 2011, 06:06 »
gracias si entendii ahorita voi a tratar de componerlo ojala q si me salga   :)
pD. uso bloc de notas :)

12
Java / error Exception in thread "main" java.lang.StackOver
« en: Domingo 22 de Mayo de 2011, 04:17 »
necesito ayuda, cree el programa se seleccion en forma recursiva, pero me marca el error Exception in thread "main" java.lang.StackOverflowError    at SeleccionRecursivo.Seleccion(SeleccionRecursivo.java:22), eh leido el por qe de ese error y entendi que es por que el metodo se llama asi ismo  y s esta ciclando pero no se como corregirlo alguien me puede ayudar? este es el codigo :
import java.io.*;//Libreria De Java Para Ingresar Datos Desde Teclado
class SeleccionRecursivo{// Nombre de La Clase
public static int Seleccion(int numeros[], int n){
int aux, i, l, posMayor;
if(n>1){
   posMayor=0;
   for(i=1; i<n;i++){
      if(numeros>numeros[posMayor]){
      posMayor=i;
      }
      aux=numeros[n-1];
      numeros[n-1]=numeros[posMayor];
      numeros[posMayor]=aux;
   }
   
   System.out.println(" ");
              for (l=0; l<n; l++){// For Para Imprimir La Ordenacion De Los Numeros
              System.out.print("|");
              System.out.print(numeros[l] + "|");
             }
}
   return Seleccion(numeros, n-1);

}

public static void main(String args[])throws IOException{
BufferedReader res1=new BufferedReader(new InputStreamReader(System.in));
long tiempoInicio = System.currentTimeMillis();
   int n;
   int v[]=new int [15];//Declaracion De Arreglo
   int res;// Declaracion De Variable
        System.out.println ( "n||************** Metodo De Odenacion Seleccion **************|| n||                                                         || ");
       System.out.println ( "||   1.-Cantidad De Numeros A Ordenar:           ||");
       System.out.print( "||      ");
       n=Integer.parseInt(res1.readLine());//Lee Los Datos Introducidos Desde Teclado
       System.out.println ( "||   2.-Numeros A Ordenar:                     ||");
             for (int i=0; i<n; i++){// Ciclo For Para Pedir que Indroduzca Los Valores
                System.out.print( "||      ");
               v=Integer.parseInt(res1.readLine());}// Lee y Almacena Los Datos Desde teclado En El Arreglo
                System.out.println("||   3.-Ordenacion De Numeros                 ||  n");
                   for (int i=0; i<n; i++){//Ciclo For Para La Ordenacion de Numeros
                      System.out.print("|");
                      System.out.print(v + "|");
                      }
       System.out.println(" ");
       res=Seleccion(v,n);//Llama All Metodo anterior Para Que Devuelva Datos
       long totalTiempo = System.currentTimeMillis() - tiempoInicio;// Funcion Que Mide El Tiempo Y Calcula El Tiempo Total Empleado A Partir De La Diferencia Del Tiempo Inicial Y Final
      System.out.println("n||El tiempo total de la ejecucion es :" + totalTiempo + " miliseg");
       System.out.println ( "n||**********************************************************||");
     
      }    
}

Páginas: [1]