Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int generate_rand_number(int n); //generate rand number
- double calculate_with_pointers(void);//calculate execution time with pointers
- double calculate_without_pointers(void);//calculate execution time with pointers
- int main()
- {
- int counter = 0;
- double time_taken = 0;
- double time_taken_ptr = 0;
- double sum = 0;
- double sum_ptr = 0;
- //REPEAT 10 TIMES
- for(counter = 0;counter < 10;counter++)
- {
- time_taken = calculate_without_pointers();
- time_taken_ptr = calculate_with_pointers();
- sum += time_taken;
- sum_ptr += time_taken_ptr;
- }
- printf("\n\n");
- printf("AVERAGE EXECUTION TIME WITHOUT POINTERS: %f SECONDS\n", sum/10);
- printf("AVERAGE EXECUTION TIME WITH POINTERS: %f SECONDS\n", sum_ptr/10);
- return 0;
- }
- double calculate_with_pointers(void)
- {
- srand(time(NULL));
- int rand_number = 0;
- int rand_min = 1;
- int rand_max = 5;
- int counter = 0;
- int sum = 0;
- int *sum_pointer = ∑
- int array[100000];
- int *array_pointer = array;
- clock_t t;
- t = clock();
- for(counter = 0;counter < 100000;counter++)
- {
- rand_number = generate_rand_number(rand_max-rand_min+1) + rand_min;
- *(array_pointer + counter) = rand_number;
- *(sum_pointer) += rand_number;
- }
- t = clock() - t;
- double time_taken = ((double)t)/CLOCKS_PER_SEC; // in seconds
- printf("EXECUTION TIME WITH PTR: %f\n", time_taken);
- return time_taken;
- }
- double calculate_without_pointers(void)
- {
- srand(time(NULL));
- int rand_number = 0;
- int rand_min = 1;
- int rand_max = 5;
- int counter = 0;
- int sum = 0;
- int array[100000];
- clock_t t;
- t = clock();
- for(counter = 0;counter < 100000;counter++)
- {
- rand_number = generate_rand_number(rand_max-rand_min+1) + rand_min;
- array[counter]= rand_number;
- sum += rand_number;
- }
- t = clock() - t;
- double time_taken = ((double)t)/CLOCKS_PER_SEC; // in seconds
- printf("EXECUTION TIME WITHOUT PTR: %f\n", time_taken);
- return time_taken;
- }
- int generate_rand_number(int n)
- {
- return rand() % n;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement