sábado, 26 de mayo de 2012

Ordenar Los Datos de una Matriz de Mayor a Menor C++

Ayer me pidieron ayuda para ordenar los datos de una matriz de mayor a menor.

Así que les dejo el código de como lo hice talvez les sirve a alguien mas.

/***************************************************
Ordenar Los Datos de una Matriz de Mayor a Menor

Hecho por Cristian Torres

****************************************************/

#include <iostream>

using namespace std;

int main()
{
int f=2,c=2,mayor=0;
int matriz[f][c];
//lleno la matriz
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
cout<<"introducir datos:";
cin>>matriz[i][j];
}
}
//imprimo la matriz como se lleno
cout<<"\nLos Datos De La Matriz Fuero Introducidos Asi"<<endl;
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
cout<<matriz[i][j]<<" ";
}
cout<<endl;
}

//ordeno la matriz de mayor a menor
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
for(int x=0; x<f;x++)
{
for(int y=0; y<c; y++)
{
if(matriz[i][j]>matriz[x][y])
{
mayor=matriz[i][j];
matriz[i][j]=matriz[x][y];
matriz[x][y]=mayor;
}

}
}
}
}

//imprimo la matriz como ordenada
cout<<"\nLos Datos De La Matriz Fueron Ordenados de Mayor a Menor"<<endl;
for(int i=0; i<f; i++)
{
for(int j=0; j<c; j++)
{
cout<<matriz[i][j]<<" ";
}
cout<<endl;
}

return 0;
}

Lo hice con una matriz de 2*2 pero puede funcionar con el numero de columnas y filas que uno quiera solo es de cambiar la declaración de la matriz o pedir al usuario el numero de filas y columnas.

Linea 17 a 24 lleno la matriz.
Linea 27 a 34 imprimo la matriz como se lleno.
Linea 37 a 55 ordeno la matriz lo que hice aquí es implementar el conocido método de la burbuja el cual consiste en ir comparando los datos en este caso de mayor a menor y los va ordenando.
Linea 59 a 66 imprimo nuevamente la matriz solo que esta vez ya esta ordenada.

Diseño


Eso es todo por ahora espero les sea de utilidad.

4 comentarios:

Nota: solo los miembros de este blog pueden publicar comentarios.