#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 memory id=" << shmId << endl;
 	shmdt(matrix);
	return 0;
}
