#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;
}


