S
Shperung
Коректно ли я все сделал ? Время роботы программы с распараллеливанием дольше на 1 сек чем без распараллеливания, ожидалось наоборот .
C++:
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <omp.h>
using namespace std;
int main()
{
srand(time(NULL));
int heilth= 1000;
int width = 40;
double start_time,end_time,time;
int a[1000][40];
int i,j;
start_time = omp_get_wtime();
#pragma omp parallel for private(i,j)\
shared (a)
for ( i = 0; i<heilth;++i)
{
for( j=0; j<width; j++)
{
a[i][j] = 0+rand()%10;
cout<<a[i][j]<<" ";
}
cout<<endl<<endl;
}
cout<<endl<<endl;
int sum =0;
int collNum = 0;
cout<<endl<<endl;
cout<<"--------Matrix "<<heilth<<" x "<<width<<"--------"<<endl<<endl;
collNum = 0+rand()%width - 1;
for (int i = 1; i<heilth;i=i+2)
sum+= a[i][collNum];
cout<<endl<<"Sum of even numbers on the placement of elements "<<collNum<<" coll = "<<sum<<endl;
end_time = omp_get_wtime();
cout<<endl<<endl;
time=end_time-start_time;
cout <<"Time= "<<time;
getch();
return 0;
}