Skip to main content

Implement the C program to accept n integers to be sorted. Main function creates child process using fork system call. Parent process sorts the integers using bubble sort and waits for child process using wait system call. Child process sorts the integers using insertion sort.

 



#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<stdlib.h>

void Bubble_sort(int arr[30],int n)
{
   int i,j,temp;
   for(i=0;i<n;i++)
   {
      for(j=0;j<n-1;j++)
      {
         if(arr[j]>arr[j+1])
         {
            temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
         }
      }
   }
}
void insertion_sort(int arr[30],int n)
{
    int i ,j ,temp;
   for(i=0;i<n;i++)
   {
      temp=arr[i];
      j=i-1;
      while(j>=0 && temp<=arr[j])
      {
         arr[j+1]=arr[j];
         j=j-1;
      }
      arr[j+1]=temp;
     
   }
}
void fork1()
{
   int arr[25],arr1[25],n,i,status;
   printf("Enter the number of values in array :");
   scanf("%d",&n);
   printf("Enter the array element :");
   for(i=0;i<n;i++)
   {
      scanf("%d",&arr[i]);
   }
   int pid=fork();
   if(pid==0)
   {
      sleep(10);
      printf("Child process \n");
      printf("Child process id = %d\n",getpid());
      insertion_sort(arr,n);
            printf("Element sorted using insertion sort :");
      printf("\n");
      for(i=0;i<n;i++)
      {
         printf("%d\t",arr[i]);
      }
      printf("\b");
      printf("\n Parent Process id = %d\n",getppid());
      system("ps -x");
      printf("\n\n\n");
   }
   else
   {
      printf("Parent process \n");
      printf("parent process id = %d \n",getppid());
      Bubble_sort(arr,n);
      printf("Element sorted using bubble sort:\n");
      printf("\n");
      for(i=0;i<n;i++)
      {
         printf("%d\t",arr[i]);
         
      }
      printf("\n\n\n");
   }
}
int main()

{
   fork1();
   return 0;
}

Comments

Popular posts from this blog

Write a program to read book information (bookid, bookname, bookprice, bookqty) in file “book.dat”. Write a menu driven program to perform the following operations using Random access file: i. Search for a specific book by name. ii. Display all book and total cost

  import java . io .*; import java . util .*; class Book {       String name , id ;       int qty ;       double price , total ;       Book ( String i , String n , String p , String q )      {               name = n ;               id = i ;               qty = Integer . parseInt ( q );               price = Double . parseDouble ( p );               total = qty * price ;      }       public String toString ()      {               System . out . println ( "name\t id\t qty\t price\t total" );               String s = name + "\t" + id + "\t" + qty + "\t" + price + "\t" + total ;           ...

Define a class MyDate (day, month, year) with methods to accept and display a MyDate object. Accept date as dd, mm, yyyy. Throw user defined exception “InvalidDateException” if the date is invalid. Examples of invalid dates : 03 15 2019, 31 6 2000, 29 2 2021

  import java . io .*; import java . util .*; class InvalidDateException extends Exception {       InvalidDateException ()       {               System . out . println ( "Invalid Date" );       } } class MyDate {       int day , mon , yr ;       void accept ( int d , int m , int y )       {             day = d ;             mon = m ;             yr = y ;       }       void display ()       {             System . out . println ( "Date is valid : " + day + "/" + mon + "/" + yr );       } } class Date {       public static void main ( String args []) throws Exception       {             Scanner sc = new Sca...

Write a Java program to design a screen using Awt that will take a user name and password. If the user name and password are not same, raise an Exception with appropriate message. User can have 3 login chances only. Use clear button to clear the TextFields.

  import java . awt .*; import java . awt . event .*; import javax . swing .*; class InvalidPasswordException extends Exception {       InvalidPasswordException ()       {             System . out . println ( "Username and password is not same" );       } } public class Password extends Frame implements ActionListener {       Label uname , upass ;       TextField nametext ;       TextField passtext , msg ;       Button login , Clear ;       Panel p ;       int attempt = 0 ;       char c = '*' ;             public void login ()       {             p = new Panel ();             uname = new Label ( "Username : " , Label . CENTER );             upass = n...