#include<stdlib.h>
#include<stdio.h>
#include<omp.h>
#include <time.h>
float func(float x) {
return 1/(1+x*x);;
}
void Calka(int a, int b, int liczba_prostokatow, int liczba_watkow)
{
int i;
clock_t start , end;
double cpu_time_used;
start = clock();
float dx, calka, calkaTemp;
dx = (b-a)/(float)liczba_prostokatow;
calka = 0;
omp_set_num_threads(liczba_watkow);
#pragma omp parallel private(calkaTemp)
{
#pragma omp for
for (i=1; i<=liczba_prostokatow; i++) {
calkaTemp += func(a + i * dx);
}
#pragma omp critical
calka += calkaTemp;
}
calka *= dx;
end = clock();
cpu_time_used = ((double) (end - start)) / CLOCKS_PER_SEC;
printf("Wynik: %f Czas: %fn", calka, cpu_time_used ) ;
}
int main()
{
int a ,b , n;
printf("Podaj an") ;
scanf("%d", &a);
printf("Podaj bn") ;
scanf("%d", &b);
printf("Podaj liczbe prostokatown") ;
scanf("%d", &n);
Calka(a, b, n, 1);
Calka(a, b, n, 2);
Calka(a, b, n, 4);
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}