#include <omp.h>
#include <iostream>
#include <conio.h>

using namespace std ;

#define n 100

void main()
{
    int i;
    float a[n], b[n];
    float sum = 0;

    for(i=0; i<n; i )  // Initializarea valorilor
    {
  	a[i] = i;
  	b[i] = 2*i;
    }

    // Iteratiile instructiunii for ce urmeaza dupa #pragma sunt repartizate intre procesoare
    #pragma omp parallel for private(i) shared(a, b) reduction( :sum) // Suma ( ) se va acumula in sum
	    for(i=0; i<n; i )       // Ciclul este paralelizat automat, 
	    	sum = a[i]*b[i];    // iar rezultatul de la toate procesoarele se acumuleaza in sum

    cout << "sum = " << sum << endl;
    getch();
}
