Cómo ordenar un arreglo bidimensional aplicando ordenamiento burbuja?

Iniciado por UmbraNoche, 14 Febrero 2015, 17:26 PM

0 Miembros y 1 Visitante están viendo este tema.

UmbraNoche

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 (cpp) [Seleccionar]
const int Fil = 15;
const int Col = 15;

srand(time(NULL));

        cout << setw(50) << "Matriz con numeros del 1 al 999\n\n";

        for(int fila = 0; fila < Fil; fila++){
            for(int columna = 0; columna < Col; columna++)
                matriz[fila][columna] = 1 + rand()% 999;
        }

        for(int f = 0; f < Fil; f++){
            for(int c = 0; c < Col; c++)
                cout << matriz[f][c] << " ";

                cout << endl;
        }

        cout << "Matriz Ordenada\n\n";

        int temp;

        for(int fila = 0; fila < Fil-1; fila ++){
            for(int columna = 0; columna < Col-1; columna++){
                for(int FilaAux = 0; FilaAux < Fil; FilaAux++){
                    for(int ColumnaAux = 0; ColumnaAux < Col; ColumnaAux++){
                            if(matriz[fila][columna] > matriz[FilaAux+1][ColumnaAux+1]){
                                temp = matriz[FilaAux][ColumnaAux];
                                matriz[fila][columna] = matriz[FilaAux+1][ColumnaAux+1];
                                matriz[FilaAux+1][ColumnaAux+1] = temp;
                            }
"Si tienes un sueño entonces aferrate a el con constancia, sacrificio y dedicación".

engel lex

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 (cpp) [Seleccionar]
for(i=0; i<Fil*Col-1; i++)

y el elemento actual es
Código (cpp) [Seleccionar]
actual = matriz[i/Fil][i%Col];
k = i+1;//el siguiente valor, usado para comparar
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
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.