Skip to content
Snippets Groups Projects
Commit 282d82e3 authored by Fauzan Rifqy's avatar Fauzan Rifqy
Browse files

Estimated time

parent 2a87d5b6
No related merge requests found
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdbool.h> #include <stdbool.h>
#include <omp.h> #include <omp.h>
#include <time.h>
void sorting(int* array, int n){ void sorting(int* array, int n){
for (int c = 1 ; c <= n - 1; c++) { for (int c = 1 ; c <= n - 1; c++) {
...@@ -55,6 +56,7 @@ int random_number(int min_num, int max_num) ...@@ -55,6 +56,7 @@ int random_number(int min_num, int max_num)
int main(int argc, char* argv[]){ int main(int argc, char* argv[]){
int nthreads, tid, st, en; int nthreads, tid, st, en;
clock_t startTime, endTime, totalTime;
if(argc<3){ if(argc<3){
printf("You need input 3 arguments\n"); printf("You need input 3 arguments\n");
...@@ -68,12 +70,15 @@ int main(int argc, char* argv[]){ ...@@ -68,12 +70,15 @@ int main(int argc, char* argv[]){
for(int i=0; i < n; i++){ for(int i=0; i < n; i++){
elements[i] = rand_interval(n); elements[i] = rand_interval(n);
printf("%d - ", elements[i]); //printf("%d - ", elements[i]);
} }
printf("\n"); printf("\n");
//bagi ke beberapa embercd //bagi ke beberapa embercd
//foreach element in elements //foreach element in elements
startTime = clock();
#pragma omp parallel num_threads(thread_count) shared(counter) private(nthreads, tid, orderedElements, st, en) #pragma omp parallel num_threads(thread_count) shared(counter) private(nthreads, tid, orderedElements, st, en)
{ {
for(int i=0; i < n; i++){ for(int i=0; i < n; i++){
...@@ -81,6 +86,7 @@ int main(int argc, char* argv[]){ ...@@ -81,6 +86,7 @@ int main(int argc, char* argv[]){
} }
tid = omp_get_thread_num(); tid = omp_get_thread_num();
int ii = 0; int ii = 0;
for(int i=0; i<n; i++){ for(int i=0; i<n; i++){
if(mine(tid, elements[i], thread_count, max)){ if(mine(tid, elements[i], thread_count, max)){
orderedElements[ii++] = elements[i]; orderedElements[ii++] = elements[i];
...@@ -102,7 +108,7 @@ int main(int argc, char* argv[]){ ...@@ -102,7 +108,7 @@ int main(int argc, char* argv[]){
{ {
printf("ID %d = %d\n", tid, counter[tid]); printf("ID %d = %d\n", tid, counter[tid]);
for(int i = 0; i < jj; i++){ for(int i = 0; i < jj; i++){
printf("%d - ", myElements[i]); //printf("%d - ", myElements[i]);
} }
printf("\n"); printf("\n");
} }
...@@ -124,18 +130,13 @@ int main(int argc, char* argv[]){ ...@@ -124,18 +130,13 @@ int main(int argc, char* argv[]){
} }
#pragma omp barrier #pragma omp barrier
}
if(tid == 0){ endTime = clock();
for (int i = 0; i < n; ++i) totalTime = endTime - startTime;
{
printf("%d\n", elements[i]);
}
}
printf("Total waktu : %fs\n", (double) totalTime/CLOCKS_PER_SEC);
}
//if mine(who, element) //if mine(who, element)
//myElement.push(element) //myElement.push(element)
//shorting //shorting
......
No preview for this file type
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment