Professional Documents
Culture Documents
OS Exp 4
OS Exp 4
9980
#include <stdio.h>
#include <string.h>
#define ICU_WARDS 2
#define REGULAR_WARDS 4
struct Patient {
char name[50];
int arrivalTimeHrs;
int arrivalTimeMin;
int completionTime;
int waitingTime;
char ward[10];
};
int icuCount = 0;
int regularCount = 0;
patients[i].arrivalTimeMin = patients[i].arrivalTimeHrs * 60 +
patients[i].arrivalTimeMin;
if (patients[i].priority > 7 ) {
patients[i].completionTime = patients[i].arrivalTimeMin +
patients[i].treatmentTime;
icuCount++;
strcpy(patients[i].ward, "ICU");
if (waitingTime >0)
patients[i].waitingTime=waitingTime;
else
patients[i].waitingTime=0;
patients[i].completionTime = patients[i].arrivalTimeMin +
patients[i].treatmentTime + patients[i].waitingTime;
strcpy(patients[i].ward, "Regular");
patients[i].completionTime = patients[i].arrivalTimeMin +
patients[i].treatmentTime;
regularCount++;
strcpy(patients[i].ward, "Regular");
if (waitingTime >0)
patients[i].waitingTime=waitingTime;
else
patients[i].waitingTime=0;
patients[i].completionTime = patients[i].arrivalTimeMin +
patients[i].treatmentTime + patients[i].waitingTime;
printf("\nPatient Allocation:\n");
printf("----------------------------------------------------------------\n");
printf("----------------------------------------------------------------\n");
patients[i].arrivalTimeMin = patients[i].arrivalTimeHrs * 60 +
patients[i].arrivalTimeMin;
totalWaitingTime += patients[i].waitingTime;
patients[i].name, patients[i].ward,
patients[i].treatmentTime,
patients[i].waitingTime,
printf("----------------------------------------------------------------\n");
int main() {
int n;
scanf("%d", &n);
printf("Enter patient details (name, priority, arrival time (hrs min)): \n");
allocateWards(patients, n);
schedulePatients(patients, n);
return 0;
}
/*
PS C:\Users\user\OneDrive\Desktop\os> ./a.exe
Patient Allocation:
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
#include <stdio.h>
#define MAX_TEAMS 4
#define TIME_QUANTUM 20
struct Team {
int id;
int burst_time;
int remaining_time;
int points;
};
int time = 0;
int completed = 0;
int current_team = 0;
*winner_id = -1;
if (teams[current_team].remaining_time > 0) {
time += teams[current_team].remaining_time;
teams[current_team].points += 100;
teams[current_team].remaining_time = 0;
completed++;
} else {
time += TIME_QUANTUM;
teams[current_team].remaining_time -= TIME_QUANTUM;
teams[current_team].points -= 10;
highest_points = teams[current_team].points;
*winner_id = teams[current_team].id;
}
}
current_team = (current_team + 1) % n;
printf("Team\tPoints\n");
int main() {
int winner_id;
teams[i].id = i + 1;
scanf("%d", &teams[i].burst_time);
teams[i].remaining_time = teams[i].burst_time;
teams[i].points = 0;
if (winner_id != -1) {
printf("No winner.\n");
return 0;
/*
Team Points
1 90
2 100
3 90
4 90
Team 2 wins!
*/