- // #include <stdio.h>
- // #include <stdlib.h>
- // #include <time.h>
- // // #include "pvm3.h"
- // int** createArray(int m, int n) {
- // int* values = calloc(m*n, sizeof(int));
- // int** rows = malloc(n*sizeof(int*));
- // for (int i=0; i<n; ++i)
- // {
- // rows[i] = values + i*m;
- // }
- // return rows;
- // }
- // void destroyArray(int** arr) {
- // free(*arr);
- // free(arr);
- // }
- // int** sumMatrixes(int** first, int** second, int m, int n) {
- // int** resultMatrix = createArray(m, n);
- // for(int i = 0; i < m; i++)
- // {
- // for(int j = 0; j < n; j++)
- // {
- // resultMatrix[i][j] = first[i][j] + second[i][j];
- // }
- // }
- // return resultMatrix;
- // }
- // void displayMatrix(int** matrix, int m, int n) {
- // for(int i = 0; i < m; i++)
- // {
- // for(int j = 0; j < n; j++)
- // {
- // printf("%d ", matrix[i][j]);
- // }
- // printf("\n");
- // }
- // }
- // void drawValues(int** matrix, int m, int n) {
- // srand(time(NULL));
- // for(int i = 0; i < m; i++)
- // {
- // for(int j = 0; j < n; j++)
- // {
- // matrix[i][j] = rand()%5;
- // }
- // }
- // }
- // int main(void) {
- // int m = 3;
- // int n = 4;
- // int** first = createArray(m, n);
- // drawValues(first, m, n);
- // printf("\nFirst Matrix\n\n");
- // displayMatrix(first, m, n);
- // int** second = createArray(m, n);
- // drawValues(second, m, n);
- // printf("\nSecond Matrix\n\n");
- // displayMatrix(second, m, n);
- // int** result = createArray(m, n);
- // result = sumMatrixes(first, second, m, n);
- // printf("\nResult Matrix\n\n");
- // displayMatrix(result, m, n);
- // // while(1)
- // // {
- // // int masterid= pvm_parent();
- // // pvm_recv();
- // // pvm_upkint(&m,1,1);
- // // pvm_upkint(&n,1,1);
- // // first=createArray(m,n);
- // // second=createArray(m,n);
- // // pvm_upkint(first, m,0);
- // // pvm_upkint(second,n,1);
- // // result=sumMatrixes(first, second,m,n);
- // // pvm_initsend(PvmDataDefault);
- // // pvm_pkint(&result,1 ,1);
- // // pvm_send(masterid, 200);
- // // }
- // return 0;
- // }