Skip to content

Instantly share code, notes, and snippets.

@ZaneWithSpoon
Created May 5, 2017 01:27
Show Gist options
  • Save ZaneWithSpoon/577b227120d81a62055e0023e9ee2c59 to your computer and use it in GitHub Desktop.
Save ZaneWithSpoon/577b227120d81a62055e0023e9ee2c59 to your computer and use it in GitHub Desktop.
/* ============================================================================
Name : part1.c
Authors : Zane Witherspoon & Tim Siwula
Version : 3.14
Description : takes in an int between 0-4999 as only argument
============================================================================ */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int get_rand();
void sort_list(int a[]);
int FCFS(int start, int a[]);
int SSTF(int start, int a[]);
int SCAN(int start, int a[]);
int CSCAN(int start, int a[]);
int LOOK(int start, int a[]);
int CLOOK(int start, int a[]);
int addresses[1000];
int sorted_addresses[1000];
int starting_address;
int main( int argc, char *argv[] ) {
srand(time(NULL));
starting_address = atoi(argv[1]);
for (int i = 0; i < 1000; ++i) {
addresses[i] = get_rand();
printf("%d\n", addresses[i]);
}
sort_list(a);
//the alrogithms
int fcfs_count = FCFS(starting_address, addresses);
printf("FCFS distance traveled %d\n", fcfs_count);
int sstf_count = SSTF(starting_address, sorted_addresses);
//printf("SSTF distance traveled %d\n", fcfs_count);
}
//takes in addresses, returns total distance traveled
int FCFS(int start, int a[]) {
int distance = 0;
int current = start;
for (int i = 0; i < 1000; ++i) {
if ((a[i] - current) > 0) {
distance += (a[i] - current);
} else {
distance += (current - a[i]);
}
current = a[i];
}
return distance;
}
int SSTF(int start, int a[]) {
return 0;
}
void sort_list(int a[]) {
for (int i = 0; i < 1000; ++i)
{
sorted_addresses[i] = a[i];
}
int array_size = 1000;
int i, j, temp;
for (i = 0; i < (array_size - 1); ++i)
{
for (j = 0; j < array_size - 1 - i; ++j )
{
if (sorted_addresses[j] > sorted_addresses[j+1])
{
temp = sorted_addresses[j+1];
sorted_addresses[j+1] = sorted_addresses[j];
sorted_addresses[j] = temp;
}
}
}
}
int get_rand() {
return (rand() % 5000);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment