Bonsoir a tous ;-)
j'ai un problème avec une fonction fork();
je dois écrire un programme qui réalise les taches suivantes:
1/ il demande a l'utilisateur d'entrer un entier entre 0-1000 qu'il Stoke dans une variable "n"
2/ il doit crée 11 processus .
3/ chaque processus doit vérifier si la division par un entier qui se trouve dans le tableau t[i]==0
si mon programme n'affiche rien c'est que l'entier "n" n'est pas un multiple des entier qui sont dans le tableau
exemple :
Entrez un entier inférieur à 1000 : 935
Je suis le processus qui vérifie la division par 5 : 935 est multiple de 5 !
Je suis le processus qui vérifie la division par 11 : 935 est multiple de 11 !
Je suis le processus qui vérifie la division par 17 : 935 est multiple de 17 !
mon problème : c'est le même processus qui réalise la tache
voila une partie du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 //déclaration des entier : proc , n , i , t[12]={1,2,3,5,7,11,13,17,19,23,29,31}; //lire l'entier et le stocker dans une variable n // vérification de l'action de l'utilisateur //boucle 11 fois { // création de processus a partir du processus pére // c'est la le problème if (proc!=0) { proc=fork(); } wait(NULL); // traitement effectuer par les processus if ((proc==0) && (n%t[i])==0){ printf("proc%d mon pid %d : mon papa est %d!\n",proc,pid_proc,pid_procpp); printf("Je suis le processus qui vérifie la division par %d : %d est le multiple de %d!\n",t[i],n,t[i]); } //} //fin
Merci
Partager