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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  ERROR EN CODIGO ORDENAMIENTO RADIX SORT
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ERROR EN CODIGO ORDENAMIENTO RADIX SORT  (Leído 4,290 veces)
SAHEKA_14

Desconectado Desconectado

Mensajes: 10


Ver Perfil
ERROR EN CODIGO ORDENAMIENTO RADIX SORT
« en: 15 Diciembre 2009, 03:03 am »

Hola !! :) Me preguntaba si me podrian ayudar a buscar el error que causa la exepcion en el siguiente codigo de Radix Sort. Este codigo se basa en el metodo Radix e no es por medio de desplazamiento de bits. :D
Esque ya me tarde y canse en buscrale y no le encuentro, esta un poco raro, es que no me nase en un algoritmo para crearlo. Echenme la mano porfas.. >:(

Código:
public class RadixShort{

int Ncolas=10;// numero de colas  o arreglos necesarios

int maxAlmacColas=15; //numero max que almacenan

int arregloColas[][];



int numeroPasadas=0;

public RadixShort(){}

int NumerosArreglo;

int divisorAuxiliar=1;



public void creandoArregloColas(){

arregloColas=new int[Ncolas][maxAlmacColas];

}

public void analisisNumeros(int numeros[]){

int temp;

String NumString;

NumerosArreglo=numeros.length;



for(int x=0;x<NumerosArreglo;x++){

NumString=Integer.toString(numeros[x]);

temp=NumString.length();

if(numeroPasadas<temp){

numeroPasadas=temp;

}

}

for(int y=0;y<numeroPasadas-1;y++){

divisorAuxiliar=divisorAuxiliar*10;

}

}

public void realizarOrdenamiento(int numeros[]){

int ordenTemN[]=new int[NumerosArreglo];



for(int analisiN=numeroPasadas;analisiN>0;analisiN--){

for(int arregloN=0;arregloN<arregloColas.length;arregloN++){

int casillas=0;

for(int n=0;n<NumerosArreglo;n++){//evalua los numeros arreglo[] de numeros



int modulo=0;

int divicion=0;

int divAux=divisorAuxiliar;

int numenPos;

boolean bandera=true;

int v=0;

for(int x=1;x<=numeroPasadas;x++){//3 vueltas

if(bandera==true){

divicion=numeros[n]/divAux;

modulo=numeros[n]%divAux;

numenPos=divicion;//agrego

}else{

divicion=modulo/divAux;

modulo=modulo%divAux;

numenPos=divicion;//agrego a otra variable

}

if(x==analisiN){



if(arregloN==numenPos){//aki comparas el numero con la pos Arreglo o Cola al k Pertenece

arregloColas[arregloN][casillas]=numeros[n];



System.out.println("-arregloN: "+arregloN+": "+arregloColas[arregloN][casillas]);

casillas++;

v++;

}

}

divAux=divAux/10;

bandera=false;



}//for centro

}//for arreglos

}//arreglo de colas o matriz



int contTemp=0;

System.out.println("GUARDANDO EN ARRAY TEMPORAL");

for(int colaN=0;colaN<arregloColas.length;colaN++){

System.out.println("Posicion"+colaN);

for(int casilla=0;casilla<arregloColas[0].length;casilla++){

if(arregloColas[colaN][casilla]!=0){

System.out.println(arregloColas[colaN][casilla]);

ordenTemN[contTemp]=arregloColas[colaN][casilla];

contTemp++;

}

}

//System.out.println("\n");

}

numeros=ordenTemN;

}

}

public static void main(String arg[]){

RadixShort radix=new RadixShort();



int numeros[]={235,245,322,349,567,424,134,828,510};

radix.creandoArregloColas();

radix.analisisNumeros(numeros);

radix.realizarOrdenamiento(numeros);

}

}

Gracias de Antemano. ;)


En línea

mayofunk

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: ERROR EN CODIGO ORDENAMIENTO RADIX SORT
« Respuesta #1 en: 24 Diciembre 2009, 03:27 am »

Podrías poner la exepcion y la linea en donde ocurre.
Eso ayudaría.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines