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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ordenar array bidimensional
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ordenar array bidimensional  (Leído 16,225 veces)
KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Ordenar array bidimensional
« en: 30 Enero 2012, 17:48 pm »

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 :


Código
  1. for (int u = 0; u < notas.length; u++) {
  2. for (int i = 0; i < nombres.length; i++) {
  3. for (int j = 0; j < nombres.length; j++) {
  4. if(notas[i][u] > notas[j][u]){
  5. int aux=notas[i][u];
  6. int aux2=notas[j][u];
  7. notas[i][u]=aux2;
  8. notas[j][u]=aux;
  9. }
  10. }
  11. }
  12. }

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 Desconectado

Mensajes: 15


Ver Perfil
Re: Ordenar array bidimensional
« Respuesta #1 en: 1 Febrero 2012, 02:02 am »

Código
  1.  
  2. package elhackerordenararraybi;
  3.  
  4.  
  5. public class ElhackerOrdenarArrayBi {
  6.  
  7.  
  8.    public static void main(String[] args) {
  9.        // TODO code application logic here
  10.  
  11.        int numeros[][]= new int [4][4];
  12.        int columna=0;
  13.        int var_fila=0;
  14.        int var_fila2=0;
  15.        int temp=0;
  16.        numeros[0][0]=456;
  17.        numeros[0][1]=24;
  18.        numeros[0][2]=548;
  19.        numeros[0][3]=290;
  20.  
  21.        numeros[1][0]=234;
  22.        numeros[1][1]=861;
  23.        numeros[1][2]=21;
  24.        numeros[1][3]=468;
  25.  
  26.        numeros[2][0]=593;
  27.        numeros[2][1]=245;
  28.        numeros[2][2]=552;
  29.        numeros[2][3]=691;
  30.  
  31.        numeros[3][0]=616;
  32.        numeros[3][1]=154;
  33.        numeros[3][2]=101;
  34.        numeros[3][3]=384;
  35.  
  36.        //imprimimos array sin ordenar
  37.  
  38.        System.out.println("----ARRAY SIN ORDENAR----");
  39.        while(var_fila <4)
  40.        {
  41.         while(columna<4)
  42.             {
  43.                  System.out.print("  "+numeros[columna][var_fila]+"  ");
  44.                  columna++;
  45.              }
  46.                 System.out.println();
  47.                 columna=0;
  48.                 var_fila++;
  49.        }
  50.  
  51.        var_fila=0;
  52.        columna=0;
  53.  
  54.        //ordenamos el array
  55.  
  56.        while(columna<4)
  57.        {
  58.            while(var_fila<3)
  59.  
  60.            {
  61.  
  62.               while(var_fila2<3)
  63.               {
  64.                   if(numeros[columna][var_fila]>numeros[columna][var_fila2+1]&& var_fila2>=var_fila)
  65.                   {
  66.                       temp=numeros[columna][var_fila];
  67.                        numeros[columna][var_fila]=numeros[columna][var_fila2+1];
  68.                        numeros[columna][var_fila2+1]=temp;
  69.  
  70.                   }
  71.                   var_fila2++;
  72.               }
  73.               var_fila2=0;
  74.               var_fila++;
  75.            }
  76.           var_fila2=0;
  77.           var_fila=0;
  78.           columna++;
  79.        }
  80.        columna=0;
  81.        var_fila=0;
  82.  
  83.        //Imprimimos el array
  84.        System.out.println("----IMPRIMIMOS EL ARRAY ORDENADO--------");
  85.        while(var_fila <4){
  86.         while(columna<4){
  87.          System.out.print("  "+numeros[columna][var_fila]+"  ");
  88.          columna++;
  89.         }
  90.         System.out.println();
  91.         columna=0;
  92.         var_fila++;
  93.        }
  94.    }
  95. }
  96.  
:rolleyes: :rolleyes: :rolleyes: :rolleyes:


En línea

KaRaLLo

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: Ordenar array bidimensional
« Respuesta #2 en: 1 Febrero 2012, 18:52 pm »

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 Desconectado

Mensajes: 15


Ver Perfil
Re: Ordenar array bidimensional
« Respuesta #3 en: 1 Febrero 2012, 20:29 pm »

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


Desconectado Desconectado

Mensajes: 376



Ver Perfil WWW
Re: Ordenar array bidimensional
« Respuesta #4 en: 2 Febrero 2012, 23:25 pm »

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 Desconectado

Mensajes: 1


Ver Perfil
Re: Ordenar array bidimensional
« Respuesta #5 en: 1 Abril 2013, 02:36 am »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Array bidimensional en pascal.
Ejercicios
sv51 4 12,658 Último mensaje 21 Junio 2008, 22:30 pm
por sv51
ordenar arreglo bidimensional
Programación C/C++
jona1107 1 3,612 Último mensaje 18 Noviembre 2012, 17:37 pm
por durasno
Ayuda con Array bidimensional
Programación General
Javaniano 0 1,308 Último mensaje 8 Diciembre 2012, 13:38 pm
por Javaniano
Ayuda para ordenar Array
.NET (C#, VB.NET, ASP)
bybaal 2 1,816 Último mensaje 15 Abril 2016, 12:37 pm
por bybaal
¿como ordenar alfabeticamente array bidimensional?
Programación C/C++
Drewermerc 3 1,761 Último mensaje 21 Abril 2016, 18:05 pm
por Drewermerc
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines