#include <iostream>
using namespace std;
int main() {
int a,b,j=0;
int ar[a];
cin>>a;
for(int i=0;i<a;i++)
{
cin>>ar[i];
}
cin>>b;
for(int i=0;i<a+1;i++)
{
if(ar[i]==b)
{
cout<<b<<" is present at location "<<i+1<<"\n";
j=j+1;
}
}
if(j==0)
{
cout<<b<<" is not present in array ";
}
else
{
cout<<b<<" is present "<<j<<" times in array";
}
return 0;
}
//code by lakshay singhwal
Tiles(File Allocation)
#include <iostream>
using namespace std;
int main() {
int a,b;
int ar[a];
cin>>a;
for(int i=0;i<a;i++)
{
cin>>ar[i];
}
cin>>b;
int j=0;
cout<<"Sequential file\n";
for(int i=0;i<a;i++)
{
if(ar[i]==b)
{
j=i;
break;
}
else
{
j=j;
}
}
cout<<b<<" found at location "<<(j+1);
return 0;
}
//code by lakshay singhwal
Linked File Allocation(File Allocation)
#include<iostream>
#include<string.h>
using namespace std;
struct file{
string c;
int arr[100],len;
};
int main()
{
int size;
cin>>size;
file myfile[size];
for(int i=0;i<size;i++)
{
cin>>myfile[i].c;
cin>>myfile[i].len;
for(int j=0;j<myfile[i].len;j++)
cin>>myfile[i].arr[j];
}
string find;
cin>>find;
int flag=0;
for(int i=0;i<size;i++)
{
if(find.compare(myfile[i].c)==0)
{
cout<<"Filename No.of blocks\n";
cout<<myfile[i].c<<" "<<myfile[i].len<<" \n";
cout<<"Blocks Occupied\n";
for(int j=0;j<myfile[i].len-1;j++)
cout<<myfile[i].arr[j]<<" ";
cout<<myfile[i].arr[myfile[i].len-1];
flag=1;
break;
}
}
if(flag==0)
cout<<"File Not Found";
}
//code by lakshay singhwal
Indexed File Allocation (File Allocation)
#include<iostream>
#include<string.h>
using namespace std;
struct file{
string c;
int arr[100],len;
};
int main()
{
int size;
cin>>size;
file myfile[size];
for(int i=0;i<size;i++)
{
cin>>myfile[i].c;
cin>>myfile[i].len;
for(int j=0;j<myfile[i].len;j++)
cin>>myfile[i].arr[j];
}
string find;
cin>>find;
int flag=0;
for(int i=0;i<size;i++)
{
if(find.compare(myfile[i].c)==0)
{
cout<<"Filename No.of blocks\n";
cout<<myfile[i].c<<" "<<myfile[i].len<<"\n";
cout<<"Blocks Occupied\n";
for(int j=0;j<myfile[i].len-1;j++)
cout<<myfile[i].arr[j]<<" ";
cout<<myfile[i].arr[myfile[i].len-1];
flag=1;
break;
}
}
if(flag==0)
cout<<"File Not Found";
}
//code by lakshay singhwal
Bogar Birthday Party – Day 1(CPU Scheduling)
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int size,sum=0,sum1=0;
float res,res1;
cin>>size;
string ar[size];
for(int i=0;i<size;i++)
{
cin>>ar[i];
}
int burst[size],wait[size],burst1[size];
for(int i=0;i<size;i++)
{
cin>>burst[i];
burst1[i]=burst[i];
}
for(int i=0;i<size;i++)
{
cin>>wait[i];
}
cout<<"Waiting Time\n";
for(int i=0;i<size;i++)
{
if(i==0)
{
cout<<"Time Taken for "<<ar[i]<<"=0";
}
else
{
cout<<"\nTime Taken for "<<ar[i]<<"="<<burst[i-1];
burst[i]+=burst[i-1];
sum=sum+burst[i-1];
}
}
res=(float)sum/size;
cout<<fixed;
cout<<"\nAverage Waiting Time="<<res;
cout<<"\nTurnAround Time";
for(int i=0;i<size;i++)
{
cout<<"\nTime Taken for "<<ar[i]<<"="<<burst1[i];
burst1[i+1]=burst[i]+burst1[i+1];
sum1=sum1+burst1[i];
}
res1=(float)sum1/size;
cout<<fixed;
cout<<"\nAverage TurnAround Time="<<res1;
return 0;
}
//code by lakshay singhwal
Homework(CPU Scheduling)
#include <iostream>
using namespace std;
int main()
{
int size;
cin>>size;
int burst[size],wait[size],turna[size],ta=0,avg=0;
turna[0]=0;
for(int i=0;i<size;i++)
{
cin>>burst[i];
}
for(int i=1;i<=size;i++)
{
turna[i]=turna[i-1]+burst[i-1];
ta+=turna[i];
}
wait[0]=0;
for(int i=1;i<size;i++)
{
wait[i]=wait[i-1]+burst[i-1];
avg+=wait[i];
}
cout<<"Average Waiting Time:"<<avg/size;
cout<<"\nAverage Turnaround Time:"<<ta/size;
return 0;
}
//code by lakshay singhwal
Semester Break(CPU Scheduling)
#include<iostream>
#include<iomanip>
using namespace std;
void findWaitingTime(int processes[], int n, int bt[],int wt[], int at[])
{
int service_time[n];
service_time[0] = 0;
wt[0] = 0;
for (int i = 1; i < n ; i++)
{
service_time[i] = service_time[i-1] + bt[i-1];
wt[i] = service_time[i] - at[i];
if (wt[i] < 0)
wt[i] = 0;
}
}
void findTurnAroundTime(int processes[], int n, int bt[],int wt[], int tat[])
{ for (int i = 0; i < n ; i++)
tat[i] = bt[i] + wt[i];
}
void findavgTime(int processes[], int n, int bt[], int at[])
{
int wt[n], tat[n];
findWaitingTime(processes, n, bt, wt, at);
findTurnAroundTime(processes, n, bt, wt, tat);
int total_wt = 0, total_tat = 0;
for (int i = 0 ; i < n ; i++)
{
total_wt = total_wt + wt[i];
total_tat = total_tat + tat[i];
int compl_time = tat[i] + at[i];
cout << "Passenger" << i << " " << wt[i] << " "<< tat[i] <<endl ;
}
cout<<fixed;
cout << "Average waiting time="<< (float)total_wt / (float)n;
cout << "\nAverage turn around time="<< (float)total_tat / (float)n;
}
int main()
{
int n ;
cin>>n;
int processes[n];
char ch='A';
int burst_time[n];
int arrival_time[n];
for(int i=0;i<n;i++)
{
cin>>burst_time[i];
processes[i]=ch;
ch++;
}
for(int i=0;i<n;i++)
{
cin>>arrival_time[i];
}
findavgTime(processes, n, burst_time, arrival_time);
return 0;
}
//code by lakshay singhwal
Project Duration(CPU Scheduling)
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int mat[10][6];
int avgt=0,avgw=0;
void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void arrangeArrival(int num, int mat[][6])
{
for(int i=0;i<num;i++)
{
for(int j=0;j<num-i-1;j++)
{
if(mat[j][1]>mat[j+1][1])
{
for(int k=0;k<5;k++)
{
swap(mat[j][k],mat[j+1][k]);
}
}
}
}
}
void completionTime(int num, int mat[][6])
{
int temp, val;
mat[0][3]=mat[0][1]+mat[0][2];
mat[0][5]=mat[0][3]-mat[0][1];
mat[0][4]=mat[0][5]-mat[0][2];
for(int i=1;i<num;i++)
{
temp=mat[i-1][3];
int low=mat[i][2];
for(int j=i;j<num;j++)
{
if(temp>=mat[j][1]&&low>=mat[j][2])
{
low=mat[j][2];
val=j;
}
}
mat[val][3]=temp+mat[val][2];
mat[val][5]=mat[val][3]-mat[val][1];
mat[val][4]=mat[val][5]-mat[val][2];
for(int k=0;k<6;k++)
{
swap(mat[val][k],mat[i][k]);
}
}
}
int main()
{
int num, temp;
cin>>num;
for(int i=0;i<num;i++)
{
cin>>mat[i][2];
mat[i][0]=i+1;
cin>>mat[i][1];
}
arrangeArrival(num,mat);
completionTime(num,mat);
cout<<"Pid BT AT WT TAT\n";
for(int i=0;i<num;i++)
{
if(i==0){
cout<<"p["<<mat[i][0]<<"] "<<mat[i][2]<<" "<<mat[i][1]<<" 0 "<<mat[i][5]-1<<"\n";
avgt+=mat[i][5]-1;
}
else{
cout<<"p["<<mat[i][0]<<"] "<<mat[i][2]<<" "<<mat[i][1]<<" "<<mat[i][4]-1<<" "<<mat[i][5]-1<<"\n";
avgw+=mat[i][4]-1;
avgt+=mat[i][5]-1;
}
}
cout<<"AVERAGE WAITING TIME:"<<fixed<<setprecision(6)<<(float)avgw/(float)num<<endl;
cout<<"AVERAGE TURN AROUND TIME:"<<fixed<<setprecision(6)<<(float)avgt/(float)num;
}
//code by lakshay singhwal
Airport Algorithms(CPU Scheduling)
#include<iostream>
#include<iomanip>
using namespace std;
void roundRobin(int len,string p[], int a[],int b[], int n)
{
int res = 0;
int resc = 0;
string seq;
int res_b[len];
int res_a[len];
for (int i = 0; i < len; i++)
{
res_b[i] = b[i];
res_a[i] = a[i];
}
int t = 0;
int w[len];
int comp[len];
while (true) {
bool flag = true;
for (int i = 0; i <len; i++)
{
if (res_a[i] <= t)
{
if (res_a[i] <= n)
{
if (res_b[i] > 0)
{
flag = false;
if (res_b[i] > n)
{
t = t + n;
res_b[i] = res_b[i] - n;
res_a[i] = res_a[i] + n;
seq += "->" + p[i];
}
else
{
t = t + res_b[i];
comp[i] = t - a[i];
w[i] = t - b[i] - a[i];
res_b[i] = 0;
seq += "->" + p[i];
}
}
}
else if (res_a[i] > n)
{
for (int j = 0; j <len; j++)
{
if (res_a[j] < res_a[i])
{
if (res_b[j] > 0)
{
flag = false;
if (res_b[j] > n)
{
t = t + n;
res_b[j] = res_b[j] - n;
res_a[j] = res_a[j] + n;
seq += "->" + p[j];
}
else {
t = t + res_b[j];
comp[j] = t - a[j];
w[j] = t - b[j] - a[j];
res_b[j] = 0;
seq += "->" + p[j];
}
}
}
}
if (res_b[i] > 0)
{
flag = false;
if (res_b[i] > n)
{
t = t + n;
res_b[i] = res_b[i] - n;
res_a[i] = res_a[i] + n;
seq += "->" + p[i];
}
else
{
t = t + res_b[i];
comp[i] = t - a[i];
w[i] = t - b[i] - a[i];
res_b[i] = 0;
seq += "->" + p[i];
}
}
}
}
else if (res_a[i] > t)
{
t++;
i--;
}
}
if (flag) {
break;
}
}
cout<<"Waiting Time";
for (int i = 0; i < len; i++) {
cout<<"\nTime Taken for "<<p[i]<<"="<<w[i];
res = res + w[i];
resc = resc + comp[i];
}
cout<<fixed;
cout<<"\nAverage Waiting Time="<< (float)res / len;
cout<<"\nTurnAround Time";
for (int i = 0; i < len; i++) {
cout<<"\nTime Taken for "<<p[i]<<"="<<comp[i];
}
cout<<"\nAverage TurnAround Time="<< (float)resc / len;
}
int main()
{ int n ;
cin>>n;
int processes[n],arrivaltime[n];
string name[n];
int bursttime[n];
int q ;
for(int i=0;i<n;i++)
{
cin>>name[i];
}
for(int i=0;i<n;i++)
{
cin>>bursttime[i];
processes[i]=i;
}
for(int i=0;i<n;i++)
{
cin>>arrivaltime[i];
}
cin>>q;
roundRobin(n,name, arrivaltime, bursttime, q);
return 0;
}
// code by lakshay singhwal
Project Order(CPU Scheduling)
#include <iostream>
using namespace std;
int main()
{
int size;
cin>>size;
int burst[size],wait[size],turna[size],ta=0,avg=0,ini=0;
turna[0]=0;
cout<<"Pid BT WT TAT\n";
for(int i=0;i<size;i++)
{
cin>>burst[i];
}
for(int i=0;i<size;i++)
{
cout<<"P["<<i+1<<"] "<<burst[i]<<" "<<ini<<" "<<burst[i]+ini<<"\n";
ini=burst[i]+ini;
}
for(int i=1;i<=size;i++)
{
turna[i]=turna[i-1]+burst[i-1];
ta+=turna[i];
}
wait[0]=0;
for(int i=1;i<size;i++)
{
wait[i]=wait[i-1]+burst[i-1];
avg+=wait[i];
}
cout<<"Average Waiting Time:"<<avg/size;
cout<<"\nAverage Turnaround Time:"<<ta/size;
return 0;
}
//code by lakshay singhwal
