📄 baitap1_2.cc
字号:
#include <sys/types.h>#include <stdio.h>#include <unistd.h>#include <wait.h>#include <iostream.h>#include <stdlib.h>#include <sys/shm.h>#include <sys/stat.h>#define MAX_SEQUENCE 10typedef struct{ long fib_sequence[MAX_SEQUENCE]; int sequence_size ;} shared_data ;int main(int argc, char *argv[]){ if (argc != 2) { cout<<"So^' do^i' so^' kho^ng ho*p. le^.\n"; return 1; } int n = atoi(argv[1]); if (n<0 || n>MAX_SEQUENCE) { cout<<"Error\n"; return 1; } long fib_sequence[MAX_SEQUENCE]; int seg_id=shmget(IPC_PRIVATE,sizeof(shared_data),S_IRUSR|S_IWUSR); shared_data *m; m=(shared_data*)shmat(seg_id,NULL,0); m->sequence_size = n; m->fib_sequence[0]=0; m->fib_sequence[1]=1; pid_t pid ; pid = fork(); if (pid == 0 ) { for (int i=2;i<m->sequence_size;i++) m->fib_sequence[i]=m->fib_sequence[i-1]+m->fib_sequence[i-2]; } else if (pid > 0) { wait(NULL); for (int i=0;i<m->sequence_size;i++) cout<<m->fib_sequence[i]<<endl; shmdt(m); shmctl(seg_id,IPC_RMID,NULL); _exit(0); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -