• Sábado 20 de Abril de 2024, 09:35

Autor Tema:  Ordenar Matriz Bidimensional  (Leído 20845 veces)

maicor

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Ordenar Matriz Bidimensional
« en: Jueves 15 de Mayo de 2008, 17:18 »
0
como hago para ordenar una matriz bidimensional d 3x3 ordenar sus filas
ej:..............................................................................................
 3 1 2....y q m quede...1 2 3
 7 9 8.........asi............7 8 9
 6 4 5.........................4 5 6

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: Ordenar Matriz Bidimensional
« Respuesta #1 en: Jueves 15 de Mayo de 2008, 18:39 »
0
Hay muchas formas de hacerlo, pero la que yo haria, seria pasar el contenido de la fila de la matriz a un vector, ordenar el vector, y regresar el contenido ordenado del vector a la fila de la matriz.

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

maicor

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Ordenar Matriz Bidimensional
« Respuesta #2 en: Jueves 15 de Mayo de 2008, 19:29 »
0
Algun ejemplo?????

maicor

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Ordenar Matriz Bidimensional
« Respuesta #3 en: Viernes 23 de Mayo de 2008, 20:18 »
0
alguien puede ayudarme a ordenar una matriz cuadrada d 3x3. Necesito un ejemplo una guia de como hacerlo en c#

daniel44

  • Nuevo Miembro
  • *
  • Mensajes: 10
    • Ver Perfil
Re: Ordenar Matriz Bidimensional
« Respuesta #4 en: Sábado 24 de Mayo de 2008, 00:00 »
0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OrderArray
{
    class Program
    {
        static void llenar(int[,] matriz)
        {
            int i, j;
            Random generarNumeros = new Random();
            for(i=0;i<matriz.GetLength(0);i++)
            {
                for (j = 0; j < matriz.GetLength(1); j++)
                {
                    matriz[i, j] = generarNumeros.Next(0,10);
                }
            }
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j < 3; j++)
                {
                    Console.Write(matriz[i, j]+" ");
                }
                Console.WriteLine();
            }
        }

        static void ordenar(int[,] matriz)
        {
            int i, j, k, l, temp;
            for (k = 1; k <= 3; k++)
            {
                for (l = 0; l < 3; l++)
                    for (i = 0; i < 3; i++)
                        for (j = 0; j < 2; j++)
                            if (matriz[i,j] > matriz[i,j + 1])
                            {
                                temp = matriz[i,j];
                                matriz[i,j] = matriz[i,j + 1];
                                matriz[i,j + 1] = temp;
                            }
            }
            Console.WriteLine("\n\nMatriz Ordenada");
            for (i = 0; i < 3; i++)
            {
                for (j = 0; j < 3; j++)
                {
                    Console.Write(matriz[i, j]+" ");
                }
                Console.WriteLine();
            }
        }

        static void Main(string[] args)
        {
            int[,] matriz = new int[3, 3];
            llenar(matriz);
            ordenar(matriz);
            Console.ReadLine();
        }
    }
}

mx_latino

  • Miembro activo
  • **
  • Mensajes: 91
  • Nacionalidad: ec
    • Ver Perfil
Re: Ordenar Matriz Bidimensional
« Respuesta #5 en: Martes 3 de Junio de 2008, 16:51 »
0
Compadre he revisado tu código y me he permitido hacer un par de cambios por allí...  :P   , En fin aquí lo dejo espero te sirva maicor...

Saludos...  :comp:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

sub7

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Ordenar Matriz Bidimensional
« Respuesta #6 en: Miércoles 27 de Octubre de 2010, 10:09 »
0
Buenas

Yo lo he hecho para que te ordene por la columna que tu quieras de la tabla.
En vez de ordenarte toda la tabla, si tu solo la quieres ordenar por un campo en concreto de la tabla.

Aquí os dejo el código:
Código: Java
  1.  
  2.     public static void ordenarTDoble(int t[][]){
  3.         int aux = 0, col;
  4.  
  5.         System.out.println("¿Qué columna quieres ordenar?: ");
  6.         col = Entrada.entero();
  7.  
  8.         for (int k = 0; k < t.length; k++) {
  9.             for (int i = 0; i < t.length-1; i++) {
  10.                 for (int j = 0; j < t.length-1-i; j++) {
  11.                     if (t[i][col] > t[i+1][col]){
  12.                         for (int l = 0; l < t.length; l++) {
  13.                             aux = t[i][l];
  14.                             t[i][l] = t[i+1][l];
  15.                             t[i+1][l] = aux;
  16.                         }
  17.                     }
  18.                 }
  19.             }
  20.         }
  21.        
  22.     }
  23.  
  24.  

Espero que le sea a alguien util,
un saludo.