Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include "time.h"
- #include <cmath>
- #define SIZE 1024
- using namespace std;
- void start_for(long double **mas, long double *func);
- void work_func(size_t t, size_t s, long double *in_func, long double **mas);
- long double formul(size_t t, size_t s);
- int main()
- {
- long double **mas = new long double *[SIZE];
- for (size_t y = 0; y < SIZE; y++)
- mas[y] = new long double[SIZE];
- setlocale(0, "");
- srand(time(NULL));
- long double func = 0, sum = 0;
- long double start_time = clock();
- for (size_t i = 0; i < 10000; i++)
- {
- start_for(mas, &func);
- sum = sum + func;
- }
- long double end_time = clock();
- long double time = (1.0 * (end_time - start_time) / CLOCKS_PER_SEC) / 10000;
- cout << "Среднее время работы функции = " << time << endl;
- cout << "Сумма работы функции = " << sum << endl;
- for (size_t y = 0; y < SIZE; y++)
- delete[] mas[y];
- delete[] mas;
- return 0;
- }
- void start_for(long double **mas, long double *func)
- {
- work_func(rand() % 51, rand() % 51, func, mas);
- }
- void work_func(size_t t, size_t s, long double *in_func, long double **mas)
- {
- if (!mas[t][s])
- {
- *in_func = formul(t, s);
- mas[t][s] = *in_func;
- }
- else
- *in_func = mas[t][s];
- }
- long double formul(size_t t, size_t s)
- {
- return (1.0 * t / s) * log(1 + powl((t + s), 5)) * cosl(powl((t + s), 2));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement