Salve a tutti sto creando ilo mio primo porgramma con le matrici ma se spedisco un solo vettore funziona se cerco di spedirne 2 non va piu' qual'e' il problema??
codice:
#include<stdio.h>
#include<mpi.h>

int main(int argc,char **argv){

char *x;	//vettore riga di 512 elementi
int *y;		//vettore colonna di 512 elementi
int i,j;	//contatori
int proc;	//contatore di processi	
int rank,size;
MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);

	for(i=0;i<512;i++){
		x[i]=i+1;
	}
	
	for(j=0;j<512;j++){
		y[j]=j+1;
}
		
	int righe;
	righe=510/(size-1);
	int colonne;
	colonne=510/(size-1);

	if(rank==0){
		for(proc=1;proc<size;proc++){
			MPI_Send(&x[(proc-1)*righe],righe,MPI_CHAR,proc,0,MPI_COMM_WORLD);
			printf("inviati:%d\n",righe);
			MPI_Send(&y[(proc-1)*colonne],colonne,MPI_CHAR,proc,0,MPI_COMM_WORLD);
			printf("inviati:%d\n",colonne);
		}
		printf("\n");
	}
		else{
			int *messx;		
			messx=(int *)calloc(righe,sizeof(int));
			MPI_Recv(messx,righe,MPI_CHAR,0,0,MPI_COMM_WORLD,&status);
			printf("ricevuti:%d\n",righe);
			
			int *messy;		
			messy=(int *)calloc(righe,sizeof(int));
			MPI_Recv(messy,righe,MPI_CHAR,0,0,MPI_COMM_WORLD,&status);
			printf("ricevuti:%d\n",righe);
		}//printf("In totale ho ricevuto %d elementi",righe+colonne);
	

MPI_Finalize();
return 0;
}
Se non riempi il vettore j e non faccio la send e la riceive di questo vettore funziona ma cosi' no!!!!