#include <iostream>
#include <cstdlib>
#include <ctime>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <unistd.h>
#define SHM_KEY 1234
#define N 100
using namespace std;

int main(){

	int total=N*N;
	int shmSize=total*sizeof(int);
	//Create shared memory segment
	int shmId=shmget(SHM_KEY,shmSize,IPC_CREAT|0666);
	if(shmId<0){
		cout << "Error mem create" << endl;
		return 1;
	}
	int *matrix=(int *) shmat(shmId,NULL,0);

	for (int i=0;i<total;i++){
		matrix[i]=rand()%100;
	}
	cout << "Shared mem id=" << shmId << endl;
	shmdt(matrix);
	return 0;
}
