Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <mpi.h>
- #include <unistd.h>
- #include <ctime>
- #include <cstdlib>
- using namespace std;
- int main(int argc, char * argv[])
- {
- MPI_Init(&argc, &argv);
- int rank,rozmiar;
- float najwieksza;
- float max;
- MPI_Comm_rank(MPI_COMM_WORLD, &rank);
- if(!rank)
- {
- cout<<"Podaj rozmiar tablicy"<<endl;
- cin>>rozmiar;
- }
- MPI_Bcast(&rozmiar,1,MPI_INT,0,MPI_COMM_WORLD);
- cout<<"Jestem procesem "<< rank<< " Czekam "<< rank<< " sekund "<<endl;
- sleep(rank);
- srand(time(NULL));
- float tablica[rozmiar];
- for(int i=0;i<rozmiar;i++)
- {
- tablica[i]=(rand()%1000)/100.0;
- }
- cout<<"Tablica dla " <<rank<<" procesu"<<endl;
- for(int i=0;i<rozmiar;i++)
- {
- cout<<tablica[i]<<endl;
- }
- max=tablica[0];
- for(int i=0;i<rozmiar;i++)
- {
- if( max < tablica[i])
- max=tablica[i];
- }
- MPI_Reduce(&max, &najwieksza, 1, MPI_FLOAT , MPI_MAX, 1, MPI_COMM_WORLD);
- if(rank==1)
- {
- cout<<"Najwieksza wylosowana liczba: "<<max<<endl;
- }
- //delete [] tablica;
- MPI_Finalize();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement