Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int* prefixAverages1(int *X, int n);
- int* prefixAverages2(int *X, int n);
- int main(void)
- {
- int *X, *A1, *A2;
- int n, i;
- clock_t start, end;
- scanf("%d", &n);
- X = (int*)malloc(sizeof(int)*n);
- srand(time(NULL));
- for(i=0; i<n; i++)
- X[i] = (rand()%10000) + 1;
- start = clock();
- A1 = prefixAverages1(X, n);
- end = clock();
- printf("%fms\n", (float)(end-start)/1000);
- start = clock();
- A2 = prefixAverages2(X, n);
- end = clock();
- printf("%fms\n", (float)(end-start)/1000);
- free(X); free(A1); free(A2);
- return 0;
- }
- int* prefixAverages1(int *X, int n)
- {
- int *A = (int*)malloc(sizeof(int)*n);
- int i, j, sum;
- for(i=0; i<n; i++) {
- sum = 0;
- for(j=0; j<=i; j++)
- sum = sum + X[j];
- A[i] = (float)sum/(i+1) + 0.5;
- }
- return A;
- }
- int* prefixAverages2(int *X, int n)
- {
- int *A = (int*)malloc(sizeof(int)*n);
- int i, sum = 0;
- for(i=0; i<n; i++) {
- sum = sum + X[i];
- A[i] = (float)sum/(i+1) + 0.5;
- }
- return A;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement