Ayuda con tencnica de la burbuja

Jurgi
28 de Enero del 2008
Buenas tengo que hacer un programa de un videoclub en C. Pues bien, en el menu he puesto una opcion donde me salga una especie de top 10, la diez peliculas mas alquiladas y el problema eta en que se como ordenarlas segun cuantas veces se ha alquilado pero no se que pelicula se ha alquilado solo se cuantas veces. os pongo el programa:


for(j=0;j<pelikop;j++){
top[j]=0;

}
for(j=0;j<pelikop;j++){
for(i=0;i<hilakop;i++){
top[j]=top[j]+pelikulak[i][j];

}
}





for(j=0;j<pelikop;j++){
for(i=j+1;i<pelikop;i++){
if(top[i]>top[j]){
aux=top[i];
top[i]=top[j];
top[j]=aux;

}
}
}
for(i=0;i<10;i++){
printf("%d- la pelicula%d se ha alquilado%d veces.n",i+1,.....,top[i]);
}

GhostGirl
28 de Enero del 2008
Hola!!!, lo más conveniente es trabajar con estructuras ... definir:

typedef struct base
{
char nombre[20];
int veces_alquiler;
} PELICULA;

Luego defines PELICULA lista[50] y luego aplicas tu algoritmo de ordenamiento a los elementos de la lista, asbiendo que el criterio de comparación será el número de veces que alquilaste la película ... luego de eso la lista estaría ordenada y sólo tienes que rescatar el campo nombre de la estructura y sabrás el nombre de cada una de las películas.

Hay otras formas un poco más \"rebuscadas\" de resolver el problema, pero sería complicar más el asunto ...

Espero que te sirva de algo

Bye