#include <stdio.h>
#include"mpi.h"
#include<stdlib.h>
int main(int args,char *argv[])
{
int rank,size;
MPI_Init(&args,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
int send[size*2];
int recv[2];
if(rank==0)
{
for(int i=0;i<size;i++)
{
}
printf("Value to be scattered\n"); for(int i=0;i<size*2;i++)
{
}
}
MPI_Scatter(send,2,MPI_INT,recv,2,MPI_INT,0,MPI_COMM_WORLD);
for(int i=0;i<2;i++)
{
printf("After scattering in process %d : %d\n ",rank
,recv
[i
]); }
MPI_Finalize();
return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSJtcGkuaCIKI2luY2x1ZGU8c3RkbGliLmg+CgppbnQgbWFpbihpbnQgYXJncyxjaGFyICphcmd2W10pCnsKICAgIGludCByYW5rLHNpemU7CiAgICBNUElfSW5pdCgmYXJncywmYXJndik7CiAgICBNUElfQ29tbV9yYW5rKE1QSV9DT01NX1dPUkxELCZyYW5rKTsKICAgIE1QSV9Db21tX3NpemUoTVBJX0NPTU1fV09STEQsJnNpemUpOwogICAgaW50IHNlbmRbc2l6ZSoyXTsKICAgIGludCByZWN2WzJdOwogICAgaWYocmFuaz09MCkKICAgIHsKICAgICAgICBmb3IoaW50IGk9MDtpPHNpemU7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgc2VuZFtpXT1yYW5kKCk7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiVmFsdWUgdG8gYmUgc2NhdHRlcmVkXG4iKTsKICAgICAgICBmb3IoaW50IGk9MDtpPHNpemUqMjtpKyspCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiVkICIsc2VuZFtpXSk7CiAgICAgICAgfQogICAgfQogICAgTVBJX1NjYXR0ZXIoc2VuZCwyLE1QSV9JTlQscmVjdiwyLE1QSV9JTlQsMCxNUElfQ09NTV9XT1JMRCk7CiAgICBmb3IoaW50IGk9MDtpPDI7aSsrKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCJBZnRlciBzY2F0dGVyaW5nIGluIHByb2Nlc3MgJWQgOiAlZFxuICIscmFuayxyZWN2W2ldKTsKICAgICAgICB9CiAgICBNUElfRmluYWxpemUoKTsKICAgIHJldHVybiAwOwp9Cg==