Advertisement
Guest User

zadatak2

a guest
Nov 25th, 2015
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <mpi.h>
  2. #include <iostream>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6. int main(int argc, char* argv[])
  7.     {
  8.         int rang;
  9.         int b, matProc,rezultat, velicina;
  10.         double sVrijednost, razlika;
  11.         MPI::Init(argc, argv);
  12.         rang = MPI::COMM_WORLD.Get_rank();
  13.         velicina = MPI::COMM_WORLD.Get_size();
  14.         matProc = 1;
  15.         b = rang*rang+rang;
  16.         cout << "P" << rang << ": Vrijednost b je: " << b << endl;
  17.        
  18.         MPI::COMM_WORLD.Barrier();
  19.            
  20.  
  21.         MPI::COMM_WORLD.Reduce(&b, &rezultat, 1, MPI::INT, MPI::SUM, matProc);
  22.         if(rang==matProc)
  23.             {
  24.                 sVrijednost = (double)rezultat / (double)velicina;
  25.                 cout << "P" << rang << ": Srednja vrijednost je: " << sVrijednost << endl;
  26.             }    
  27.                
  28.         MPI::COMM_WORLD.Bcast(&sVrijednost, 1, MPI::DOUBLE, matProc);
  29.            
  30.        
  31.         razlika = abs(b-sVrijednost);    
  32.         cout << "P" << rang << ": Razlika između srednje vrijednsoti i vrijednosti b je: " << razlika << endl;
  33.         MPI::COMM_WORLD.Barrier();
  34.         MPI::Finalize();
  35.         return 0;
  36.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement