diff --git a/DergunPiotr-WaskoDominik/zad2/macierz_mpi.cpp b/DergunPiotr-WaskoDominik/zad2/macierz_mpi.cpp index f66c0b7..ac1c580 100644 --- a/DergunPiotr-WaskoDominik/zad2/macierz_mpi.cpp +++ b/DergunPiotr-WaskoDominik/zad2/macierz_mpi.cpp @@ -49,7 +49,7 @@ void array_destroy(long **arr) int main(int argc, char *argv[]) { - long **A=NULL, **B=NULL, **C=NULL, *B_rot=NULL, *vect=NULL; + long **A=NULL, **B=NULL, **C=NULL, *B_rot=NULL, *vect=NULL, *vect_c=NULL; long rozmiar=0; char *endptr; TTiming tt; @@ -91,8 +91,11 @@ int main(int argc, char *argv[]) array_alloc(B, rozmiar); vect_alloc(B_rot, rozmiar*rozmiar); } + + int porcja = (rozmiar*rozmiar)/ntasks + (rozmiar*rozmiar)%ntasks; array_alloc(C, rozmiar); - vect_alloc(vect, rozmiar); + vect_alloc(vect, porcja); + vect_alloc(vect_c, porcja); if (taskid == 0) { //wypelnienie macierzy A liczbami "losowymi" @@ -113,10 +116,37 @@ int main(int argc, char *argv[]) //wysyłanie macierzy A do wszystkich MPI::COMM_WORLD.Bcast(&A[0][0], rozmiar*rozmiar, MPI::LONG, 0); + if (taskid == 0) + { + cout << endl << "WEKTOR DANYCH: " << endl; + for (i=0; i