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 C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cómo ordenar un arreglo bidimensional aplicando ordenamiento burbuja?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cómo ordenar un arreglo bidimensional aplicando ordenamiento burbuja?  (Leído 6,082 veces)
UmbraNoche

Desconectado Desconectado

Mensajes: 11


Persevera y Triunfarás


Ver Perfil
Cómo ordenar un arreglo bidimensional aplicando ordenamiento burbuja?
« en: 14 Febrero 2015, 17:26 pm »

Buenas gente, les escribo para saber si me pueden dar una mano, en cómo ordenar un arreglo de 15x15 que contiene números aleatorios del 1 al 999 aplicando el ordenamiento burbuja. He estado quebrandome la cabeza pero no he tenido éxito. Aquí les dejo el código.

Gracias de antemano.

Código
  1. const int Fil = 15;
  2. const int Col = 15;
  3.  
  4. srand(time(NULL));
  5.  
  6.        cout << setw(50) << "Matriz con numeros del 1 al 999\n\n";
  7.  
  8.        for(int fila = 0; fila < Fil; fila++){
  9.            for(int columna = 0; columna < Col; columna++)
  10.                matriz[fila][columna] = 1 + rand()% 999;
  11.        }
  12.  
  13.        for(int f = 0; f < Fil; f++){
  14.            for(int c = 0; c < Col; c++)
  15.                cout << matriz[f][c] << " ";
  16.  
  17.                cout << endl;
  18.        }
  19.  
  20.        cout << "Matriz Ordenada\n\n";
  21.  
  22.        int temp;
  23.  
  24.        for(int fila = 0; fila < Fil-1; fila ++){
  25.            for(int columna = 0; columna < Col-1; columna++){
  26.                for(int FilaAux = 0; FilaAux < Fil; FilaAux++){
  27.                    for(int ColumnaAux = 0; ColumnaAux < Col; ColumnaAux++){
  28.                            if(matriz[fila][columna] > matriz[FilaAux+1][ColumnaAux+1]){
  29.                                temp = matriz[FilaAux][ColumnaAux];
  30.                                matriz[fila][columna] = matriz[FilaAux+1][ColumnaAux+1];
  31.                                matriz[FilaAux+1][ColumnaAux+1] = temp;
  32.                            }


En línea

"Si tienes un sueño entonces aferrate a el con constancia, sacrificio y dedicación".
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Cómo ordenar un arreglo bidimensional aplicando ordenamiento burbuja?
« Respuesta #1 en: 14 Febrero 2015, 17:36 pm »

mi reocmendación... el lugar de hacer un recorrido raro para poder organizar, tomalo como si fuera un arreglo de una sola dimensión, ya que burbuja está hecho para eso y no para matrices... como haces esto?

el recorrido
Código
  1. for(i=0; i<Fil*Col-1; i++)

y el elemento actual es
Código
  1. actual = matriz[i/Fil][i%Col];
  2. k = i+1;//el siguiente valor, usado para comparar
  3. siguiente = matriz[k/Fil][K%Col]

a ojos del ciclo eso ahora es un array de una sola dimensión y puedes aplicar comparaciones basicas sin mayor complicación


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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