高斯消元併發(未完成

2021-09-26 10:27:51 字數 2054 閱讀 9261

想法:想在找到最大元後,開啟併發多個執行緒(機器)一起消去下面的行(變成上三角行列式)

結果執行呼叫,從main那裡呼叫,並不是區域性呼叫、、、

殘缺的**:

#include "stdio.h"

#include "math.h"

#include "mpi.h"

#include "stdlib.h"

float *gauss(float *arr, int row, int col);

float *solution(float *arr, int row, int col, int argc, char *ar**);

float *backprogram(float *arr, int row, int col);

float *elimination(float *arr, int row, int col, int i, int argc, char *ar**);

int selectindex(float *arr, int row, int col, int i);

float *swaprow(float *arr, int row, int col, int i, int j);

void printarr(float *arr)

printf("\n");

}}// 高斯消元函式

float *gauss(float *arr, int row, int col)

// row 為行數, col為列數,

float *solution(float *arr, int row, int col, int argc, char *ar**)

float divnum = arr[i * col + i];

for(int k = i; k < col; k++)

// printf("變化後來一下\n");

// printarr(arr);

arr = elimination(arr, row, col, i, argc, ar**); // 這裡是消去下面的行,我在這裡弄一下併發執行

}backprogram(arr, row, col);

return arr;

}// 回代、求值

float *backprogram(float *arr, int row, int col)

}return arr;

}//消去當前行下面的所有元素

float *elimination(float *arr, int row, int col, int i, int argc, char *ar**)

// 執行緒迴圈,

for(int kk = 1; kk < row - i + 1; kk++)

}printf("結束了,能走到這一步嗎?\n");

}else

printf("資料處理完畢,我是執行緒%d, 返還資料回去\n", myid);

printarr(recarr);

mpi_send(&recarr, row * col, mpi_float, 0, 80, mpi_comm_world);

}return arr;

}// 求最大行

int selectindex(float *arr, int row, int col, int i)

} return index / col;

}// 兩行交換

float *swaprow(float *arr, int row, int col, int i, int j)

return arr;

}// 主函式

int main(int argc, char *ar**)

; printf("高斯消元之前:\n");

printarr(arr);

float *a = solution(arr, 4, 5, argc, ar**);

printf("\n高斯消元求解後:\n");

printarr(arr);

return 0;

}

gg:

高斯消元 浮點高斯消元

浮點數高斯消元 問題描述 給出乙個線性方程組,有n個方程組,m個未知數。解這個線性方程組。輸入格式 第1行 2個整數n和m,n,m 400,且n不一定等於m 接下來n行,每行m 1個整數,表示乙個方程的m個未知數的係數和常數 輸出格式 如果無解,輸出 no solution 如果有唯一解,輸出m行,...

未完成作業

分治 1.一元三次方程求解 1015 2.迴圈比賽日程表 3.求方程的根 5.黑白棋子的移動 1310 6.光榮的夢想 2323 7.小車問題 1668 8.方程分f x 的根 9.求逆序對 1198 10.迴圈比賽 11.二分查詢 1135 12.麥森數 1030 動態規劃 挖地雷 取數字問題 搜...

通訊 未完成

網路程式設計對於後端開發來說也是非常重要的一部分,常見的使用案例包含,郵件 web伺服器 rpc等底層通訊模型都離不開通訊。及j a是第乙個從一開始就為網路應用而設計的程式語言,最早的兩個實用j a應用的程式之一就是web瀏覽器,隨著internet的不斷發展,j a成為了唯一適合構建下一代網路應用...