Você está na página 1de 3

DISK SCHEDULING: C-LOOK

import java.io.*; public class CLOOK { public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); int a,b,c,k=0,d=1,i,hm=0,head,temp; int anarray[]=new int[30]; System.out.print("\n\n Program name: CLOOK DISK SCHEDULING\n\n");

System.out.print("How many Process: "); a=Integer.parseInt(br.readLine()); System.out.print("Initial Head Position: "); b=Integer.parseInt(br.readLine()); System.out.print("\nEnter Requests:\n"); for (c=0;c<a;c++) { System.out.print("Request # "+d+": "); anarray[c]=Integer.parseInt(br.readLine()); d++; } System.out.println("\n***********COMPUTATION***********"); anarray[c]=b; for (c=0;c<=a-1;c++) { for (i=0;i<=a-1-c;i++) { if (anarray[i]>anarray[i+1]) { temp=anarray[i]; anarray[i]=anarray[i+1]; anarray[i+1]=temp; } } } for(c=0;c<a;c++) { if (anarray[c]==b) { k=c; } }

for (c=k;c<a;c++) { head=anarray[c]-anarray[c+1]; if (head<0) { head=head*(-1); } System.out.print("|"+anarray[c]+"-"+anarray[c+1]+"|"+"+"); hm=hm+head; } head=anarray[c]-anarray[0]; hm=hm+head; System.out.print("|"+anarray[c]+"-"+anarray[0]+"|"); for(c=0;c<k-1;c++) { head=anarray[c]-anarray[c+1]; if (head<0) { head=head*(-1); } if(c<k-1) { System.out.print("+"); } hm=hm+head; System.out.print("|"+anarray[c]+"-"+anarray[c+1]+"|"); } System.out.print("="+hm); System.out.println("\n\nTota Head Movements: "+hm); }

Você também pode gostar