THIS IS THE PROGRAM FOR STEP 3:   #include #include #include #include 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); }

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
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.
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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY