Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I was given this \"low-quality\" code: Here are tables given to me to fill out (

ID: 3800512 • Letter: I

Question

I was given this "low-quality" code:

Here are tables given to me to fill out (I'm a bit confused, but I do have the decimal offsets figured out)

void foo (int x) int a [3]; char buf [4] a 11 gets (buf); print f ("a 0 0x x, a [1] Oxsx, buf s n", a [01, a C1), buf) In a program containing this code, procedure foo has the following disassembled form: LCO: string "a [0] 0x x, a [1] 0x x, buf s n" foo push %rbx subg $16, srsp Gedi, sebx movl &rsp; %rdi nova call gets &rsp; orCX nova movl Sebx, oedx movl $-2525 79085 se si movl LCO oedi movl 0, eaX printf call addq 16 "orSp Srbx popq ret For the following questions, recall that: gets is a standard C library routine. x86-64 machines are little-endian. C strings are null-terminated (i.e., terminated by a character with value 0x00). Characters '0' through '9' have ASCII codes 0x30 through 0x39.

Explanation / Answer

class TwoStacks

{

    int size;

    int top1, top2;

    int arr[];

    // Constructor

    TwoStacks(int n)

    {

        arr = new int[n];

        size = n;

        top1 = -1;

        top2 = size;

    }

    // Method to push an element x to stack1

    void push1(int x)

    {

        // There is at least one empty space for

        // new element

        if (top1 < top2 - 1)

        {

            top1++;

            arr[top1] = x;

        }

        else

        {

            System.out.println("Stack Overflow");

            System.exit(1);

        }

    }

    // Method to push an element x to stack2

    void push2(int x)

    {

        // There is at least one empty space for

        // new element

        if (top1 < top2 -1)

        {

            top2--;

            arr[top2] = x;

        }

        else

        {

            System.out.println("Stack Overflow");

            System.exit(1);

        }

    }

    // Method to pop an element from first stack

    int pop1()

    {

        if (top1 >= 0)

        {

            int x = arr[top1];

            top1--;

            return x;

        }

        else

        {

            System.out.println("Stack Underflow");

            System.exit(1);

        }

        return 0;

    }

    // Method to pop an element from second stack

    int pop2()

    {

        if(top2 < size)

        {

            int x =arr[top2];

            top2++;

            return x;

        }

        else

        {

            System.out.println("Stack Underflow");

            System.exit(1);

        }

        return 0;

    }

    // Driver program to test twoStack class

    public static void main(String args[])

    {

        TwoStacks ts = new TwoStacks(5);

        ts.push1(5);

        ts.push2(10);

        ts.push2(15);

        ts.push1(11);

        ts.push2(7);

        System.out.println("Popped element from" +

                           " stack1 is " + ts.pop1());

        ts.push2(40);

        System.out.println("Popped element from" +

                         " stack2 is " + ts.pop2());

    }

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote