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

ordenamiento en c

Estas en el tema de ordenamiento en c en el foro de C/C++ en Foros del Web. hola gente, si algien me puede dar una mano estare agradecido la cuestion es la siguiente: tengo dos vectores, se los paso a una funcion ...
  #1 (permalink)  
Antiguo 17/07/2009, 17:12
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 9 meses
Puntos: 0
ordenamiento en c

hola gente, si algien me puede dar una mano estare agradecido la cuestion es la siguiente: tengo dos vectores, se los paso a una funcion para que los ordene de manera descendente, uso el metodo de la burbuja, uno de tantos. el problema es que me devuelve fruta esta funcion. al que pueda ayudar, gracias

Ordena_Vec(Array_Desc,Array_Rec);


void Ordena_Vec(char *Desc,float *Rec){
int s=1,i=0,x;
char auxc;
float aux;
while(s==1){
s=0;
for(x=0;x<6-i+1;x++){
if(Rec[x]<Rec[x+1]){
Rec[x]=aux;
Rec[x]=Rec[x+1];
Rec[x+1]=aux;
Desc[x]=auxc;
Desc[x]=Desc[x+1];
Desc[x+1]=auxc;
s=1;
}//llave del if


}//llave del for



i++;
}//llave del while

}//llave ordena
  #2 (permalink)  
Antiguo 17/07/2009, 21:00
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: ordenamiento en c

Lo escrito no es el metodo de la burbuja
  #3 (permalink)  
Antiguo 19/07/2009, 23:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 12
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ordenamiento en c

Por favor ponelo entre [code], asi no entiendo nada :S . Y sus tabulaciones correspondientes.
  #4 (permalink)  
Antiguo 20/07/2009, 15:57
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ordenamiento en c

Si es el método de burbuja, o al menos su intento.

Fijate en la asignación de tus auxiliares.

Un Saludo!
  #5 (permalink)  
Antiguo 27/07/2009, 13:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 13
Antigüedad: 15 años
Puntos: 0
Respuesta: ordenamiento en c

Código c++:
Ver original
  1. void OrdenoBurbuja(ty_VecV VecV)
  2. {
  3.     int aux;
  4.     for (int j=0;j<TOPEV;j++)
  5.     {
  6.         for(int i=0;i<TOPEV-1;i++)
  7.         {
  8.             if(VecV[i]>VecV[i+1])
  9.             {
  10.  
  11.                 aux = VecV[i];
  12.                 VecV[i] = VecV[i+1];
  13.                 VecV[i+1] = aux;
  14.             }
  15.         }
  16.     }
  17. }

Esto sería el método de burbuja normal, el problema es que de estar el vector ya ordenado, va a seguir iterando hasta el final del vector.
Lo que tendrías que hacer es pensar en poner otro ciclo y manejarlo de alguna forma que te permita salir cuando ya esté ordenado.

Si necesitas ayuda con eso, avisame.

Saludos y espero que te sirva.
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 12:21.