Homework 5
Homework 5
Code:
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
int * bonacciSequence;
if (n > 0) bonacciSequence[0] = 0;
if (n > 1) bonacciSequence[1] = 1;
pthread_t d;
pthread_create(& d, NULL, generate, &n);
pthread_join( d, NULL);
return 0;
}
Screenshot of result:
fi
tf
ti
ti
fi
ti
Code:
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#de ne ARRAY_SIZE 12
int original[ARRAY_SIZE] = {4, 10, 100, 5, 1, 16, 18, 45, 12, 98, 12, 11};


fi
int sorted[ARRAY_SIZE];
int temp[ARRAY_SIZE];
typedef struct {
int le ;
int right;
int thread_id;
} ThreadData;
int main() {
pthread_t sort_threads[4], merge_threads[3];
ThreadData sort_data[4], merge_data[3];
merge_data[0].le = 0;
merge_data[0].right = (ARRAY_SIZE / 4) - 1; // Merge rst two sorted sec ons
pthread_create(&merge_threads[0], NULL, merge_thread, &merge_data[0]);
merge_data[1].le = ARRAY_SIZE / 4;
merge_data[1].right = (ARRAY_SIZE / 2) - 1; // Merge next two sorted sec ons
pthread_create(&merge_threads[1], NULL, merge_thread, &merge_data[1]);
merge_data[2].le = 0;
merge_data[2].right = (ARRAY_SIZE - 1); // Merge the en re array
pthread_create(&merge_threads[2], NULL, merge_thread, &merge_data[2]);
ft
ft
ft
ft
ft
ft
ft
ft
ft
fi
ti
ti
ti
pthread_join(merge_threads[2], NULL);
return 0;
}
Change the above program to have 4 sort threads and 3 merge threads.
tf
tf
tf