All pastes #2083359 Raw Edit

Something

public text v1 · immutable
#2083359 ·published 2011-09-27 22:34 UTC
rendered paste body
#include<stdio.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/shm.h>
#include<fcntl.h>
#define SHMKEY 51015688
#define K 1024
int shmid;
void main(void){
	int *MAX, *MIN;
	int num[100],n,menu;
	char *addr;
	int max,min;
	if((shmid=shmget(SHMKEY,1*K,0777|IPC_CREAT))<0){
		exit(0);
	}
	addr=shmat(shmid,0,0);
	MIN=(int*)addr;
	MAX=(int*)addr+1;
	int childpid;
	childpid=fork();
	if(childpid==0){
		do{
			printf("********\n");
			printf("Menu\n");
			printf("1. Enter Num\n");
			printf("2. findMin\n");
			printf("3. findMax\n");
			printf("4. printMin\n");
			printf("5. printMax\n");
			printf("6. Exit\n");
			printf("Enter Menu(1-6): ");
			scanf("%d",&menu);
			printf("********\n");
			switch(menu){
				case 1: printf("Enter Number[%d]: ",n+1);
						scanf("%d",&num[n]);
						n++;
						break;
				case 2:	max=num[0];
						for(int i=1;i<n;i++){
							if(num[i]>max){
								max=num[i];
							}
						}
						*MAX=max;
						break;
				case 3: min=num[0];
						for(int i=1;i<n;i++){
							if(num[i]<min){
								min=num[i];
							}
						}
						*MIN=min;
						break;
				case 4: printf("min child: %d\n",min);
						printf("*MIN child: %d\n",*MIN);
						break;
				case 5: printf("max child: %d\n",max);
						printf("*MAX child: %d\n",*MAX);
						break;
			}
		}
		while(menu!=6);
		exit(0);
	}
	wait();
	printf("Exit! \n");
	printf("min parent: %d\n",min);
	printf("*MIN parent: %d\n",*MIN);
	printf("max parent: %d\n",max);
	printf("*MAX parent: %d\n",*MAX);
}