我遇到以下代码的麻烦
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController {
// filter the search results
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [cd] %@", self.controller.searchBar.text];
self.results = [self.data filteredArrayUsingPredicate:predicate];
// NSLog(@"Search Results are: %@", [self.results description]);
没有什么特别的,我只想尝试Bcast两个整数数组(现在我尝试使用4长度的整数字符串,这就是为什么最后的printfs是静态的)。
无论如何,我首先尝试使用“capa”字符串并且它有效,但是当我用两个字符串尝试它时,我得到了分段错误但我不知道为什么,两个字符串都是相同的大小,唯一的区别是他们的价值观。
修改
刚刚将代码更改为此并且有效:
#include <mpi.h>
#include <stdio.h>
#include <stdlib.h>
//1 mostrar lista
//2 borrar elementos
//3 ordenar lista
//4 añadir elemento
int main(int argc,char**argv){
int rank;
int *list; //Lista
int *liste; //Lista encargados
int *perm; //Permutaciones
int *capa; //Capacidad
int size;
int i;
int aux;
const int root = 0;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
if(rank==root){
perm = (int*)malloc(size*sizeof(int));
capa = (int*)malloc(size*sizeof(int));
for(i=0;i<size;i++){
scanf("%d",&aux);
capa[i]=aux;
}
for(i=0;i<size;i++){
scanf("%d",&aux);
perm[i]=aux;
}
}
//printf("\n[%d]: Antes de Bcast: %d %d %d %d\n",rank,capa[0],capa[1],capa[2],capa[4]);
MPI_Bcast(&capa[0],size,MPI_INT,root,MPI_COMM_WORLD);
MPI_Bcast(&perm[0],size,MPI_INT,root,MPI_COMM_WORLD);
//MPI_Bcast(&aux,1,MPI_INT,root,MPI_COMM_WORLD);
printf("\n[%d]: Despues de Bcast capa: %d %d %d %d\n",rank,capa[0],capa[1],capa[2],capa[3]);
printf("\n[%d]: Despues de Bcast perm: %d %d %d %d\n",rank,perm[0],perm[1],perm[2],perm[3]);
MPI_Finalize();
return 0;
}