From teo, 11 Years ago, written in Plain Text.
Embed
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. void O_n (long int n, double *s, double *p)
  5.         {
  6.                 double Suma = 0.;
  7.                 int a = 0;
  8.                 double Proizvod = 1.;
  9.                 for (; a < n; ++a)
  10.                         Suma += a, Proizvod *= a;
  11.                 *s = Suma;
  12.                 *p = Proizvod;
  13.         }
  14. void O_2n (long int n, double *s, double *p)
  15.         {
  16.                 double Suma = 0.;
  17.                 int a = 0;
  18.                 double Proizvod = 1.;
  19.                 for (; a < n; ++a)
  20.                         Suma += a;
  21.                 for (a = 0; a < n; ++a)
  22.                         Proizvod *= a;
  23.                 *s = Suma;
  24.                 *p = Proizvod;
  25.         }
  26. int main ()
  27.         {
  28.                 int n = 10000000, m = 1000, a = 0;
  29.                 double P1, P2, S1, S2, V1, V2;
  30.                 clock_t T1 = clock(), T2;
  31.                 for (; a < m; ++a)
  32.                         O_n (n, &S1, &P1);
  33.                 T2 = clock();
  34.                 V1 = (T2 - T1) / (CLOCKS_PER_SEC/1000.);
  35.                 T1 = clock();
  36.                 a = 0;
  37.                 for (; a < m; ++a)
  38.                         O_2n (n, &S2, &P2);
  39.                 T2 = clock();
  40.                 V2 = (T2 - T1) / (CLOCKS_PER_SEC/1000.);
  41.                 printf("Vrijeme 1 za O(n), pri n = %i, a m = %i je: %.1f ms.\n", n, m, V1);
  42.                 printf("Vrijeme 2 za O(2n), pri n = %i, a m = %i je: %.1f ms.\n", n, m, V2);
  43.                 return 0;
  44.  
  45.         }