Logo 
Search:

C Programming Articles

Submit Article
Home » Articles » C Programming » Parallel Processing ProgramsRSS Feeds

Find maximum and minimum of an array using Loop Splitting

Posted By: Maisie Hughes     Category: C Programming     Views: 4474

Find maximum and minimum of an array using Loop Splitting.

Code for Find maximum and minimum of an array using Loop Splitting in C Programming

# include <stdio.h>
# include </usr/include/sys/types.h>
# include </usr/include/sys/shm.h>
# include </usr/include/sys/ipc.h>

# include "forkjoin.h"int main()
{
    int arr[10]={1,2,3,4,5,6,7,8,9,10};
    int FinalSum=0;
    int id,NPROC=5;
    int iCount;
    int shmid;
    int *MAX,FinalMax;
    int *MIN,FinalMin;
        shmid=shmget(IPC_PRIVATE,sizeof(int)*NPROC,IPC_CREAT| SHM_R | SHM_W);
    MAX=(int *)shmat(shmid,0,0);
    
    shmid=shmget(IPC_PRIVATE,sizeof(int)*NPROC,IPC_CREAT | SHM_R | SHM_W);
    MIN=(int *)shmat(shmid,0,0);
    
    id=process_fork(NPROC);

    MAX[id]=arr[id];
    MIN[id]=arr[id];

    for(iCount=id+NPROC;iCount<10;iCount=iCount+NPROC)
    {
        if(arr[iCount] > MAX[id])
        {
            MAX[id]=arr[iCount];
        }
        
        if(arr[iCount] < MIN[id])
        {
            MIN[id]=arr[iCount];
        }
    }    
    process_join(NPROC,id);
    
    FinalMax=MAX[0];
    FinalMin=MIN[0];
    
    for(iCount=1;iCount<NPROC;iCount++)
    {
        if(FinalMax < MAX[iCount])
        {
            FinalMax=MAX[iCount];
        }        
        
        if(FinalMin > MIN[iCount])
        {
            FinalMin=MIN[iCount];
        }
    }    

     printf("\n Maximum : %d \n",FinalMax);
     printf("\n Minimum : %d \n",FinalMin);

    return 0;
}

/* Output

[divyen@localhost PP-TW1]$ ./Prog08

Maximum : 10

Minimum : 1


*/
  
Share: 


Didn't find what you were looking for? Find more on Find maximum and minimum of an array using Loop Splitting Or get search suggestion and latest updates.

Maisie Hughes
Maisie Hughes author of Find maximum and minimum of an array using Loop Splitting is from London, United Kingdom.
 
View All Articles

 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!