Programación General > C/C++
Ordenamiento de numeros... algoritmo SSTF
(1/1)
elpollo12:
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++
--- Código: Text ---#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!!!!
sawako:
Hola de Casualidad lograste resolver tu problema si es asi por favor explicame te lo agradeceria mucho
Navegación
Ir a la versión completa