Can you please rewrite this code in c++? import java.util.Queue; import java.util.Scanner; import java.util.concurrent.LinkedBlockingQueue; class AirportSimulation { public static boolean...


Can you please rewrite this code in c++?


import java.util.Queue;


import java.util.Scanner;


import java.util.concurrent.LinkedBlockingQueue;


class AirportSimulation {


public static boolean isPlaneComingIntoQueue(int avgInterval)


{


if (Math.random() < (1.0="">


return true;


else


return false;


}


public static boolean isPlaneCrashed(int in, int out, int interval)


{


if (out - in > interval)


{ return true; }


else { return false; }


}


public static void main(String[] args)


{


Scanner in = new Scanner(System.in);


System.out.print("The amount of time needed for one plane to land: ");


int landTime = in.nextInt();


System.out.print("the amount of time needed for one plane to take off: "); int takeoffTime = in.nextInt();



System.out.print("the average amount of time between arrival of planes to the landing queue: ");


int avgArrivalInterval = in.nextInt();


System.out.print("the average amount of time between arrival of planes to the takeoff queue: ");


int avgDepartureInterval = in.nextInt();


System.out.print( "the maximum amount of time that a plane can stay in the landing queue without running out of fuel and crashing: ");


int crashLimit = in.nextInt();


System.out.print("the total length of time to be simulated: ");


int totalTime = in.nextInt();


int totalTimeSpentInLandingQueue = 0, totalTimeSpentInTakeoffQueue = 0; int numPlanesLanded = 0, numPlanesTookoff = 0;


int numPlanesCrashed = 0; Queue landingQueue = new LinkedBlockingQueue();



Queue takeoffQueue = new LinkedBlockingQueue(); for (int i = 0; i < totaltime;="">


{


if (isPlaneComingIntoQueue(avgArrivalInterval)) {


landingQueue.add(i);


}


if (isPlaneComingIntoQueue(avgDepartureInterval))


{


takeoffQueue.add(i);


}


while (true)


{


while (!landingQueue.isEmpty() && isPlaneCrashed(landingQueue.peek(), i, crashLimit))


{ landingQueue.remove();


numPlanesCrashed++;


}


if (!landingQueue.isEmpty())


{


int nextPlane = landingQueue.peek();


landingQueue.remove();


numPlanesLanded++;


totalTimeSpentInLandingQueue += (i - nextPlane); int j;


for (j = i; j < landtime="" +="" i="" &&="" j="">< totaltime;="">


{


if (isPlaneComingIntoQueue(avgArrivalInterval))


{


landingQueue.add(j);


}


if(isPlaneComingIntoQueue(avgDepartureInterval))


{


takeoffQueue.add(j);


}


}


i = j;


if (i >= totalTime) {


break;


}


}


else {


break;


}


}


if (!takeoffQueue.isEmpty())


{


int nextPlane = takeoffQueue.peek();


takeoffQueue.remove();


numPlanesTookoff++;


totalTimeSpentInTakeoffQueue += (i - nextPlane);


int j;


for (j = i; j < takeofftime="" +="" i="" &&="" j="">< totaltime;="">


{


if (isPlaneComingIntoQueue(avgArrivalInterval))


{


landingQueue.add(j);


}


if (isPlaneComingIntoQueue(avgDepartureInterval))


{


takeoffQueue.add(j);


}


}


i = j;


}


}


while (!landingQueue.isEmpty() && isPlaneCrashed(landingQueue.peek(), totalTime, crashLimit))


{


landingQueue.remove();


numPlanesCrashed++;


}


System.out.println("The number of planesthat took off in the simulated time is " + numPlanesTookoff);


System.out.println("the number of planes that landed in the simulated time is " + numPlanesLanded);


System.out.println("the number of planes that crashed because they ran out of fuel before they could land is " + numPlanesCrashed); System.out.println("the average time that a plane spent in the takeoff queue is " + totalTimeSpentInTakeoffQueue / (double) numPlanesTookoff);


System.out.println("the average time that a plane spent in the landing queue is " + totalTimeSpentInLandingQueue / (double) numPlanesLanded); }


}

Jun 06, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here