Arreglos Bidimensionales C++




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();
}






Comentarios hacia esta página:
Comentado por Christian Louboutin Pumps( fdagmail.com ), 02-08-2012, 03:45 (UTC):
VDS2012.8.2

Comentado por christian louboutin papiounet flat( fdagmail.com ), 30-07-2012, 08:52 (UTC):
The famous designer Christian Louboutin once said: "This is exactly high heels makes a woman's health, high-heeled shoes, because they can slow steps The difference is like riding a different bike, cycling can at least enjoy the scenery along the road Although shes a mess in the fashion circle of fire,but because of its relatively high price is still only so that everyone fanciesDifferent from the previous minimalist,not much material used in these high heels,however,unique Christian Louboutin design,giving the feet a gorgeous sense,highlight your unique fashion senseNo sooner had I actually suffer barely appear at those report christian louboutin leather boots yesterday barely harvest an exceedingly coincidence those tin barely represent described rather dark jfds2012.7.30

Comentado por isabel marant willow sneaker( fdgfgmail.com ), 20-07-2012, 03:14 (UTC):
In the hot a few months, a similar set of two sneakers, while donned jointly with the skinny jeans along with miniskirts, creates a new drier moreover stylistic allure.DFSF2012.7.20

Comentado por jaquelin( dackylive.com.mx ), 14-12-2011, 03:50 (UTC):
esto es mas o menos lo que nos pidieron profe gracias

Comentado por esther( estrella-tkm15hotmail.com ), 21-07-2011, 17:43 (UTC):
hola amiguito gracias por tu ayuda

Comentado por chiton( ), 17-05-2011, 17:34 (UTC):
profe ponga ejemplos de Mysql

Comentado por luis giovani alejo ayala( luisgeo040live.com ), 16-03-2011, 05:09 (UTC):
nesesito una ayuda para poder conseguir un visualbasic 6.0 para windows 7 64bits

Comentado por ROYER, ( ), 05-07-2010, 00:33 (UTC):
Hola Ing. Efraín, muchas gracias por su observación pero no me queda muy claro su planteamiento, si fuera tan amable de explicarlo más a detalle se lo agradecería, y muchas gracias por participar en este sitio, su ayuda y sus aportaciones serían muy valiosas. Gracias y Saludos!!!

Comentado por Efrain Barrientos( efrainbehotmail.com ), 22-06-2010, 18:57 (UTC):
Profesor:
No recuerdo mucho la programación en C++ pero desde mi perspectiva el programa en su definición no esta planteado correctamente; ya que yo puedo dimensionar mi arreglo de 1 X 2 (2, 4,) el orden seria (2, 4) eso contemplando que es de 1 fila pero si es de más de una fila??
Ejemplo: 2 X 2
mis datos serian:
(3,1)
(2,2)
Podria decir que el orden es:
(2,2)
(3,1)
y esta ordenado de manera vertical....
Pero bueno solo es como observación..
Saludos Master



Añadir comentario acerca de esta página:
Su nombre:
Su dirección de correo electrónico:
Su página web:
Su mensaje:

Java
 
El propietario de ésta página no ha activado todavía el extra "Lista Top"!
Publicidad
 
Java el más popular.
 
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.
Los lenguajes menos populares
 
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
Los mejores programadores del mundo:
 
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
Sabias qué...
 
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.
 
Hoy habia 14 visitantes (31 clics a subpáginas) ¡Aqui en esta página!
=> ¿Desea una página web gratis? Pues, haz clic aquí! <=