Computer Networking: A Top-Down Approach (7th Edition)
Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN: 9780133594140
Author: James Kurose, Keith Ross
Publisher: PEARSON
Bartleby Related Questions Icon

Related questions

Question

 

 

 

THIS IS THE PROGRAM FOR STEP 3:

 

#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>
int main(int argc, char *argv[]){
   int row = 0;
   int column = 0;
   row = atoi(argv[1]);
   column = atoi(argv[2]);

   int *A = (int *) malloc((row * column) * sizeof(int));
   int i, j;
   printf("Enter the matrix elements:\n");
   for (i = 0; i < row; i++) {
       for (j = 0; j < column; j++) {
           printf("A[%d,%d] = ", i, j);
           scanf("%d", A + i * column + j);//matrix elements is stored in row-wise
       }
       printf("\n");
   }

   int n = 0;
   printf("Enter a number:");
   scanf("%d", &n);

   for(int i = 0; i < row; ++i){
       pid_t pid = fork();
       if (pid == -1){//not able to create child
           printf("parent PID %d => \n", getpid());
           for (j = 0; j < column; j++) {
               *(A + i * column + j) = n * (*(A + i * column + j));
               printf("%d * A[%d,%d] = %d\n", n, i, j, *(A + i * column + j));              
           }
       }
       else if (pid == 0) {//child
           printf("child%d PID: %d \n", i, getpid());
           for (j = 0; j < column; j++) {
               *(A + i * column + j) = n * (*(A + i * column + j));
               printf("%d * A[%d,%d] = %d\n", n, i, j, *(A + i * column + j));              
           }
           exit(0);
       }
   }
  
   wait(0);
   printf("Final matrix elements:\n");
   for (i = 0; i < row; i++) {
       for (j = 0; j < column; j++) {
           printf("A[%d,%d] = %d\n", i, j, *(A + i * column + j));      
       }
       printf("\n");
   }

   exit(0);
}

 

 

You have to:
1) Explain the problem with the program in step 3
2) Fix the problem when creating a child process per column.
expand button
Transcribed Image Text:You have to: 1) Explain the problem with the program in step 3 2) Fix the problem when creating a child process per column.
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Similar questions
Recommended textbooks for you
Text book image
Computer Networking: A Top-Down Approach (7th Edi...
Computer Engineering
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:PEARSON
Text book image
Computer Organization and Design MIPS Edition, Fi...
Computer Engineering
ISBN:9780124077263
Author:David A. Patterson, John L. Hennessy
Publisher:Elsevier Science
Text book image
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:9781337569330
Author:Jill West, Tamara Dean, Jean Andrews
Publisher:Cengage Learning
Text book image
Concepts of Database Management
Computer Engineering
ISBN:9781337093422
Author:Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:Cengage Learning
Text book image
Prelude to Programming
Computer Engineering
ISBN:9780133750423
Author:VENIT, Stewart
Publisher:Pearson Education
Text book image
Sc Business Data Communications and Networking, T...
Computer Engineering
ISBN:9781119368830
Author:FITZGERALD
Publisher:WILEY