Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Burbujeo de una matriz

Estas en el tema de Burbujeo de una matriz en el foro de C/C++ en Foros del Web. Hola gente, qué tal? Estoy tratando de aplicar el método de burbujeo para ordenar de mayor a menor una matriz. Probé lo siguiente: Código: for ...
  #1 (permalink)  
Antiguo 02/08/2013, 21:49
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Burbujeo de una matriz

Hola gente, qué tal? Estoy tratando de aplicar el método de burbujeo para ordenar de mayor a menor una matriz. Probé lo siguiente:

Código:
                          for (f=1;f<=60;f++) {
                              for (c=1;c<=12;c++)
                               {
                                 VSS[f]=(VSS[f]+ME[f][c]); 
                                 }
                                 }
                     for(i=1;i<=60;i++) 
                     { 
                     for(j=1+1;j<=60;j++) 
                      {
                             if (VSS[j]>VSS[i]) {
                         VSS[j]=aux;
                         VSS[j]=VSS[i];
                         VSS[i]=aux;
                                 }
                                 }
                                 }
                      for(i=1;i<=60;i++) 
                                 {                             
                        printf("Sueldo: %d  ",VSS[i]);
                                 }
La matriz ME posee 60 filas y 12 columnas. Lo que hice fue ir sumando los valores que guarda la matriz y guardalos en el vector VSS (61 valores), y en base a ese vector, hacer el burbujeo pero me da valores erróneos (mayormente números grandes). ¿Qué estoy haciendo mal?

Gracias!
  #2 (permalink)  
Antiguo 03/08/2013, 16:47
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 12 años, 4 meses
Puntos: 25
Respuesta: Burbujeo de una matriz

Código C++:
Ver original
  1. for (f=1;f<=60;f++) {
  2.         for (c=1;c<=12;c++){
  3.          VSS[f]= VSS[f]+ME[f][c]; //no son necesarios los parentesis
  4.         }
  5.  }
  6.  
  7. for(i=1;i<=59;i++) { // i itera desde el primer elemento hasta el anteultimo
  8.     for(j=i+1;j<=60;j++) { // j itera desde el elemento siguiente a i hasta el ultimo
  9.  
  10.          if (VSS[j]>VSS[i]) {
  11.              aux= VSS[j]; //se guarda temporalmente en aux el valor del elemento en la posicion j
  12.              VSS[j]=VSS[i];
  13.              VSS[i]=aux;
  14.          }
  15.     }
  16. }
  17.  
  18.  
  19. for(i=1;i<=60;i++) {                            
  20.       printf("Sueldo: %d  ",VSS[i]);
  21. }

los comentarios te indican las lineas donde cambie algo...

proba si te anda, no lo probe

Etiquetas: matriz, vector
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:37.