Buenas..... necesito representar el algoritmo SSTF de plainificacion de disco en C++.... éste algoritmo lo que hace es dadas una serie de pistas...busca las que esten mas cerca del cabezal y las atiende primero... por ejemplo si yo tngo las pistas 98, 183, 37, 122, 14, 124, 65, 67 y el cabezal o pista inicial esta en la 53... entonces el orden en q las pistas se atenderían es: 65, 67, 37, 14, 98, 122, 124, 183.
Ya yo tngo el código que averigua cuales son los tiempos mas cortos y los ordena a través de una burbuja,.... pero esos valores los cnsegui restando la pista inicial cn cada una de las pistas... y el valor menor es q se coloca primero y asi sucesivamente... pero esos valores no me sirven para representar mi algoritmo.. pues yo necesito trabajar es con las pista originales y no logro hacer q esos valores q me genero la resta y q ya tngo ordenados me devuelvan las pistas originales en ese mismo orden, que es con que deseo trabajar.
Aqui esta el código que he hecho... compilado con turbo c++
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
main()
{
int vector[7],pista_ini,aux,i,j,r[7],k,e,c;
clrscr();
cout<<"Ingresa la posici¢n del cabezal: ";
cin>>pista_ini;
for(i=0;i<=7;i++) {
cout<<"Ingrese la pista "<<i+1<<endl;
cin>>vector[i]; }
for(j=0;j<=7;j++) {
r[j]=abs(pista_ini-vector[j]); }
for(i=0;i<=6;i++)
{for(j=0;j<=6;j++)
{if(r[j+1]<r[j])
{aux=r[j+1];
r[j+1]=r[j];
r[j]=aux;
}
}
}
for(i=0;i<=7;i++) {
cout<<" "<<r[i];
}
getch();
return 0; }
Agradeceria cualquier sugerencia q me puedan ofrecer!!!!