#include<stdio.h>#defineMAX_PROCESSES10voidroundRobin(int n,int burstTime[],int timeQuantum){int waitingTime[MAX_PROCESSES]={0};int turnaroundTime[MAX_PROCESSES]={0};int remainingTime[MAX_PROCESSES];int i, time =0, completed =0;float totWaitingTime =0, totTurnaroundTime =0;// Initialize remaining time with burst timefor(i =0; i < n; i++){ remainingTime[i]= burstTime[i];}// Process all processes until completionwhile(completed != n){int allDone =1;// Loop through all processesfor(i =0; i < n; i++){if(remainingTime[i]>0){ allDone =0;// Some process is still pendingif(remainingTime[i]> timeQuantum){// Process for time quantum time += timeQuantum; remainingTime[i]-= timeQuantum;}else{// Process for remaining time and mark as completed time += remainingTime[i]; waitingTime[i]= time - burstTime[i]; remainingTime[i]=0; completed++;}}}// If all processes are done, breakif(allDone){break;}}// Calculate turnaround time and averagesfor(i =0; i < n; i++){ turnaroundTime[i]= burstTime[i]+ waitingTime[i]; totWaitingTime += waitingTime[i]; totTurnaroundTime += turnaroundTime[i];}// Print resultsprintf("\nProcess\tBurst Time\tWaiting Time\tTurnaround Time\n");for(i =0; i < n; i++){printf("%d\t%d\t\t%d\t\t%d\n", i +1, burstTime[i], waitingTime[i], turnaroundTime[i]);}printf("\nTotal Waiting Time: %.2f\n", totWaitingTime);printf("Average Waiting Time: %.2f\n", totWaitingTime / n);printf("Total Turnaround Time: %.2f\n", totTurnaroundTime);printf("Average Turnaround Time: %.2f\n", totTurnaroundTime / n);}intmain(){int n, i, timeQuantum;int burstTime[MAX_PROCESSES];printf("Enter the number of processes (max %d): ", MAX_PROCESSES);scanf("%d",&n);if(n > MAX_PROCESSES || n <=0){printf("Invalid number of processes\n");return1;}printf("Enter burst time for each process:\n");for(i =0; i < n; i++){printf("Process %d: ", i +1);scanf("%d",&burstTime[i]);if(burstTime[i]<=0){printf("Burst time must be positive\n");return1;}}printf("Enter time quantum: ");scanf("%d",&timeQuantum);if(timeQuantum <=0){printf("Time quantum must be positive\n");return1;}printf("\nRound Robin Scheduling Algorithm\n");roundRobin(n, burstTime, timeQuantum);return0;}