Autor
|
Tema: Ordenar array bidimensional (Leído 19,031 veces)
|
KaRaLLo
|
Teniendo este array : 456 234 593 616 24 861 245 154 548 21 552 101 290 468 691 348 Necesito ordenarlo por columnas se me occurio este método pero el array se sale del rango : for (int u = 0; u < notas.length; u++) { for (int i = 0; i < nombres.length; i++) { for (int j = 0; j < nombres.length; j++) { if(notas[i][u] > notas[j][u]){ int aux=notas[i][u]; int aux2=notas[j][u]; notas[i][u]=aux2; notas[j][u]=aux; } } } }
Un saludo
|
|
|
En línea
|
Los programadores escriben código aunque sepan que no debería funcionar, pero de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
|
|
|
bewa
Desconectado
Mensajes: 15
|
package elhackerordenararraybi; public class ElhackerOrdenarArrayBi { public static void main (String[] args ) { // TODO code application logic here int numeros[][]= new int [4][4]; int columna=0; int var_fila=0; int var_fila2=0; int temp=0; numeros[0][0]=456; numeros[0][1]=24; numeros[0][2]=548; numeros[0][3]=290; numeros[1][0]=234; numeros[1][1]=861; numeros[1][2]=21; numeros[1][3]=468; numeros[2][0]=593; numeros[2][1]=245; numeros[2][2]=552; numeros[2][3]=691; numeros[3][0]=616; numeros[3][1]=154; numeros[3][2]=101; numeros[3][3]=384; //imprimimos array sin ordenar System. out. println("----ARRAY SIN ORDENAR----"); while(var_fila <4) { while(columna<4) { System. out. print(" "+numeros [columna ][var_fila ]+" "); columna++; } columna=0; var_fila++; } var_fila=0; columna=0; //ordenamos el array while(columna<4) { while(var_fila<3) { while(var_fila2<3) { if(numeros[columna][var_fila]>numeros[columna][var_fila2+1]&& var_fila2>=var_fila) { temp=numeros[columna][var_fila]; numeros[columna][var_fila]=numeros[columna][var_fila2+1]; numeros[columna][var_fila2+1]=temp; } var_fila2++; } var_fila2=0; var_fila++; } var_fila2=0; var_fila=0; columna++; } columna=0; var_fila=0; //Imprimimos el array System. out. println("----IMPRIMIMOS EL ARRAY ORDENADO--------"); while(var_fila <4){ while(columna<4){ System. out. print(" "+numeros [columna ][var_fila ]+" "); columna++; } columna=0; var_fila++; } } }
|
|
|
En línea
|
|
|
|
KaRaLLo
|
Muchisimas gracias bewa, pero me desanimo al ver esto xDD llevo 3 días rayandome la cabeza y nada
|
|
|
En línea
|
Los programadores escriben código aunque sepan que no debería funcionar, pero de todas formas lo intentan, como recompilar todo, después de eso, dios sabe porqué, funciona
|
|
|
bewa
Desconectado
Mensajes: 15
|
Es que es difícil entender el código de otro. Por lo menos para mí que estoy empezando xD.
Pero tampoco creo que sea muy necesarios estos ejercicios a parte de para coger manejo. Dile a tu profesor que empiece ya con las clases y la interfaz gráfica si ya teneis un buen manejo. Seguir aumentando la dificultad de estos ejercicios con bucles dentro de bucles me parece de locos y no se avanza.
|
|
|
En línea
|
|
|
|
jhonatanAsm
|
bajando el code de la declaracion del array numeros:
int valores[]={456 ,234,593, 616,24, 861 , 245 , 154,548 , 21, 552 , 101,290 , 468 , 691,348};
int c=0;
for(int a=0;a<4;a++) for(int b=0;b<4;b++) numeros(a)(b)=valores[c++];// cambia los parentesis por corchetes
si se sale de rango verifica el tamaño de tus matrices en tiempo de compilacion.salu2
|
|
« Última modificación: 3 Febrero 2012, 14:30 pm por jhonatanAsm »
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
seraff
Desconectado
Mensajes: 1
|
al estar buscando pues mejor me puse hacerlo espero que les ayude y que me pueda ayudar ayudándolos saludos
public static void main(String seraff[]) { String nombre[][] = {{"90", "zavala", "40", "50", "20"}, {"10", "juan", "20", "25", "10"}, {"90", "blanko", "90", "90", "90"}, {"99", "andres", "99", "99", "99"}}; String aux = ""; for(byte k=0;k<4;k++){ for (byte i = 0; i <3; i++) { if (nombre[1].compareTo(nombre[i+1][1]) > 0) { for (byte j = 0; j < 5; j++) { aux = nombre[j]; nombre[j] = nombre[i + 1][j]; nombre[i + 1][j] = aux; } } }}
aux=""; for (byte i = 0; i < 4; i++) { for(byte j=0;j<5;j++){ aux+=nombre[j]+" "; } aux+="\n"; } System.out.println(aux);
} }
ITM
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Array bidimensional en pascal.
Ejercicios
|
sv51
|
4
|
14,292
|
21 Junio 2008, 22:30 pm
por sv51
|
|
|
ordenar arreglo bidimensional
Programación C/C++
|
jona1107
|
1
|
4,996
|
18 Noviembre 2012, 17:37 pm
por durasno
|
|
|
Ayuda con Array bidimensional
Programación General
|
Javaniano
|
0
|
2,159
|
8 Diciembre 2012, 13:38 pm
por Javaniano
|
|
|
Ayuda para ordenar Array
.NET (C#, VB.NET, ASP)
|
bybaal
|
2
|
2,829
|
15 Abril 2016, 12:37 pm
por bybaal
|
|
|
¿como ordenar alfabeticamente array bidimensional?
Programación C/C++
|
Drewermerc
|
3
|
3,308
|
21 Abril 2016, 18:05 pm
por Drewermerc
|
|