|
|
|
Derechos Reservados
M. en C. José Rogelio Reyes Reyes
Universidad Bancaria de México 2009.
|
|
 |

Que tal, pues aquí dejo una pequeña ayuda para aquellos que anduvieron sufriendo o tal vez andan sufriendo con el problema de ordenar un arreglo bidimensional, realmente no es algo sencillo, espero que lo sepan apreciar y que les sea de utilidad, Mucha suerte segundos programadores:
El código consiste en un menú que muestra cuatro diferentes opciones: Llenar un arreglo bidimensional, mostrar su contenido, ordenar su contenido (numérico) ascendentemente y ordenar su contenido (numérico) descendentemente (creo yo que lo más complicado).
La problemática más fuerte consiste en vaciar el arreglo bidimensional a un arreglo unidimensional y posteriormente volver a llenar el arreglo bidimensional pasándole los números ordenados. Se utiliza por supuesto el método de la burbuja cuando se ordena el arreglo unidimensional.
Bueno, supongo que estoy tratando con programadores, así es que sin darle más vueltas al asunto, aquí dejo el código, no incluyo comentarios en el mismo(mal hábito), pero es muy evidente:
¡ Ah !, y una disculpa por meter código de C++, siendo que esta página está dedicada a JAVA, pero hay que recordar que primero fué C++. Saludos.
¡¡¡ Arriba los programadores de la Bancaria !!!
#include<iostream.h>
#include<conio.h>
class P{
public: int dx,dy, cont, temp;
public: int arr[100][100];
public: int nuevoArreglo[100];
//__________________________________________________________________
public: void llenarArreglo(){
cout<<"dijite los numeros"<<endl;
for(int x=0;x<dx;x++){
for(int y=0;y<dy;y++)
cin>>arr[x][y];
}
}
//___________________________________________________________________
public: void mostrarArreglo(){
cout<<"los numeros que contiene el arreglo son:"<<endl;
for(int x=0;x<dx;x++){
for(int y=0;y<dy;y++)
cout<<"arr["<<x<<"]["<<y<<"]= "<<arr[x][y]<<endl;
}
}
// ___________________________________________________________________
public: void burbujaAscendente(int n, int x[])
{
int i,j;
int temp;
for(i=0;i<n;i++)
for(j=n-1;j>i;j--)
if(x[j-1]>x[j])
{
temp =x[j-1];
x[j-1]=x[j];
x[j]=temp;
}
}
//___________________________________________________________________
public: void burbujaDescendente(int n, int x[])
{
int i,j;
int temp;
for(i=0;i<n;i++)
for(j=n-1;j>i;j--)
if(x[j-1]<x[j])
{
temp =x[j-1];
x[j-1]=x[j];
x[j]=temp;
}
}
//___________________________________________________________________
public: void ordenarArregloAsc(){
cont=0;
cout<<"los numeros que contiene el arreglo ordenados ascendentemente son:"<<endl;
for(int c=0;c<dx;c++)
{
for(int c2=0;c2<dy;c2++)
{
nuevoArreglo[cont++]=arr[c][c2];
}
}
burbujaAscendente((dx*dy),nuevoArreglo);
cont=0;
for(int c=0;c<dx;c++)
{
for(int c2=0;c2<dy;c2++)
{
arr[c][c2]=nuevoArreglo[cont++];
cout<<arr[c][c2]<<endl;
}
}
}
//___________________________________________________________________
public: void ordenarArregloDes(){
cont=0;
cout<<"los numeros que contiene el arreglo ordenados descendentemente son:"<<endl;
for(int c=0;c<dx;c++)
{
for(int c2=0;c2<dy;c2++)
{
nuevoArreglo[cont++]=arr[c][c2];
}
}
burbujaDescendente((dx*dy),nuevoArreglo);
cont=0;
for(int c=0;c<dx;c++)
{
for(int c2=0;c2<dy;c2++)
{
arr[c][c2]=nuevoArreglo[cont++];
cout<<arr[c][c2]<<endl;
}
}
}
//___________________________________________________________________
public: P(int a,int b){
P::dx=a;
P::dy=b;
//int arr[a][b];
}
};
main(){
clrscr();
int d1,d2, opcion;
cout<<"dijite las dimensiones del arreglo"<<endl;
cin>>d1;
cin>>d2;
P p1=P(d1,d2);
do{
cout<<"Elija las opciones que desee"<<endl;
cout<<"1.- llenar el arreglo"<<endl;
cout<<"2.- mostrar el arreglo"<<endl;
cout<<"3.- ordenar el arreglo ascendentemente"<<endl;
cout<<"4.- ordenar el arreglo descendentemente"<<endl;
cout<<"9.- Salir"<<endl;
cin>>opcion;
switch(opcion) {
case 1:
p1.llenarArreglo(); break;
case 2:
p1.mostrarArreglo(); break;
case 3:
p1.ordenarArregloAsc(); break;
case 4:
p1.ordenarArregloDes(); break;
}
}while(opcion!=9);
getch();
}
|
|
 |
|
|
|
El propietario de ésta página no ha activado todavía el extra "Lista Top"! |
|
La comunidad de
programadores
TIOBE ha publicado su informe
de popularidad de los lenguajes
de programación:
1.- Java
2.- C
3.- C++
4.- PHP
5.- Visual Basic.
|
|
La información de este ranking
esta dada por Ingenieros
Calificados de todo el mundo,
motores de búsqueda importantes
como Google y Yahoo.
16.- Pascal
17.- Lenguaje D
18.- Lisp/Scheme
19.- Objetive-C
20.- MATLAB |
|
Aquí una lista de los que
son considerados los mejores
programadores del mundo.
Por desgracia este año no
aparezco, pero en Fin..
1. John Carmack
2. Linus Torvalds
3. Tim Berners-Lee
4. Douglas Andrew Bel
5. Dennis Ritchie
6. Bram Cohen
7. Rasmus Lerdorf,
Andi Gutmans
& Zeev Suraski
8. Jez San
9. Bjarne Stroustrup
10. Richard Bartle & Roy Trubshaw
|
|
México ocupa el primer lugar
en el desarrollo de software
entre los países de habla hispana,
por encima de España,
Argentina y Chile, aunque en
América latina
es superado por Brasil.
|
|
|
 |
|
|
|
|