На каждом процессоре я динамически распределяю 2D массивы как:
char** result = malloc(maxRows * sizeof(char*));
int i;
for(i = 0 ; i<maxRows; ++i) result[i] = malloc(maxCols * sizeof(char));
Но эти массивы заполнены различными размерами, хранящимися в переменной, называемой count
, где count < maxRows
. Я хочу собрать эти массивы в один отдельный массив на мастере. Любые идеи, пожалуйста?
Пример данных:
Process 1 : count = 3 , result[0] = "hello" , result[1] = "MPI" , result[2] = "World".
Process 2 : count = 2 , result[0] = "hi" , result[1] = "stackoverflow".
I wi sh Мастер процесс возвращает:
Process 0 (master) : count = 5 , result[0] = "hello" , result[1] = "MPI" ,
result[2] = "World" , result[3] = "hi" , result[4] = "stackoverflow".