1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
hodyreva [135]
4 years ago
10

2- (8 point) Write a program using the instructions below. Assume that integers are stored in 4 bytes. a) Define an array of typ

e int called apples with five elements, and initialize the elements to the even integers from 2 to 10. b) Define a pointer aPtr that points to a variable of type int. c) Print the elements of array values using a for statement. d) Write two separate statements that assign the starting address of the array to pointer variable aPtr. e) What physical address is aPtr pointing to? f) Print the elements of array values using pointer/offset notation. g) What address is referenced by aPtr + 3? What value is stored at that location? h) Assuming aPtr points to apples[4], what address is referenced by aPtr -= 4? What value is stored at that location?
Computers and Technology
1 answer:
lakkis [162]4 years ago
6 0

Answer:

a)  

int apples [5] = {2, 4, 6, 8, 10};

b)

int *aPtr   //this is the pointer to int

Another way to attach a pointer to a an int variable that already exists:

int * aPtr;

int var;

aPtr = &var;

c)

for (int i = 0; i < size; i++){

       cout << values[i] << endl;    }

d)  

   aPtr = values;

   aPtr = &values[0];    

both  the statements are equivalent

e)

If its referring to the part d) then the address is:

cout<<aPtr;

f)

     for (int i = 0; i < size; ++i) {

            cout<<*(vPtr + i)<<endl;    }

g)

   cout << (aPtr + 3) << endl;  // address referenced by aPtr + 3

   cout << *(aPtr + 3) << endl; // value stored at that location

This value stored at location is 8

h)

    aPtr = &apples[4];

    aPtr -= 4;

    cout<<aPtr<<endl;

    cout<<*aPtr<<endl;  

Explanation:        

a)

int apples [5] = {2, 4, 6, 8, 10};

In this statement the array names is apples, the size of the array is specified in square brackets. so the size is 5. The type of array apples is int this means it can store integer elements. The values or elements of the array apples are even integers from 2 to 10. So the elements of array are:

apples[0] = 2

apples[1] = 4

apples[2] = 6

apples[3] = 8

apples[4] = 10

b)

In this statement int *aPtr  

The int* here is used to make the pointer aPtr points to integer object. Data type the pointer is pointing to is int. The asterisk symbol used with in makes this variable aPtr a pointer.

If there already exists an int type variable i.e. var and we want the pointer to point to that variable then declare an int type pointer aPtr and aPtr = &var; assigns the address of variable var to aPtr.

int * aPtr;

int var;

aPtr = &var;

c)

The complete program is:

int size= 5;

int values[size] = {2,4,6,8,10};

for (int i = 0; i < size; i++){

       cout << values[i] << endl; }

The size of array is 5. The name of array is values. The elements of array are 2,4,6,8,10.

To print each element of the values array using array subscript notation, the variable i is initialized to 0, because array index starts at 0. The cout statement inside body of loop prints the element at 0-th index i.e. the first element of values array at first iteration. Then i is incremented by 1 each time the loop iterates, and this loop continues to execute until the value of i get greater of equal to the size i.e. 5 of values array.

The output is:

2

4

6

8

10

d)

aPtr = values;

This statement assigns the first element in values array to pointer aPtr. Here values is the address of the first element of the array.

aPtr = &values[0];    

In this statement &values[0] is the starting address of the array values to which is assigned to aPtr. Note that the values[0] is the first element of the array values.

e)

Since &values[0] is the starting address of the array values to which is assigned to aPtr. So this address is the physical address of the starting of the array. If referring to the part d) then use this statement to print physical address is aPtr pointing to

cout<<aPtr;

This is basically the starting address of the array values to which is assigned to aPtr.

The output:

0x7fff697e1810                

f)

i variable represents offset and corresponds directly to the array index.

name of the pointer i.e. vPtr references the array

So the statement (vPtr + i) means pointer vPtr that references to array values plus the offset i array index that is to be referenced. This statement gives the address of i-th element of values array. In order to get the value of the i-th element of values array, dereference operator * is used.  It returns an ith value equivalent to the address the vPtr + i is pointing to. So the output is:

2

3

6

8

10

g)

values[0] is stored at 1002500

aPtr + 3 refers to values[3],

An integer is 4 bytes long,

So the address that is referenced by aPtr + 3 is

1002500 + 3 * 4 = 1002512

values[3] is basically the element of values array at 3rd index which is the 4th element of the array so the value stored at that referred location  is 8.

h)

Given that aPtr points to apples[4], so the address stored in aPtr is

1002500 + 4 * 4 = 1002516

aPtr -= 4  is equivalent to aPtr = aPtr - 4

The above statement decrements aPtr by 4 elements of apples array, so the new value is:

1002516 - 4 * 4 = 1002500

This is the address of first element of apples array i.e 2.

Now

cout<<aPtr<<endl; statement prints the address  referenced by aPtr -= 4 which is 1002500  

cout<<*aPtr<<endl;  statement prints the value is stored at that location which is 2.

You might be interested in
Difference between entropy and enthalpy is
olchik [2.2K]

Answer:

Explanation:

Enthalpy is the measure of total heat present in the thermodynamic system where the pressure is constant. Entropy is the measure of disorder in a thermodynamic system.

3 0
3 years ago
Which one of the following is the correct code snippet for calculating the largest value in an integer array list aList?
vodka [1.7K]

Answer:

Option a.  int max = aList.get(0); for (int count = 1; count < aList.size(); count++) { if (aList.get(count) > max) { max = aList.get(count); } }

is the correct code snippet.

Explanation:

Following is given the explanation for the code snippet to find largest value in an integer array list aList.

  1. From the array list aList, very first element having index 0 will be stored in the variable max (having data type int).
  2. By using for starting from count =1 to count = size of array (aList), we will compare each element of the array with first element of the array.
  3. If any of the checked element get greater from the first element, it gets replaced in the variable max and the count is increased by 1 so that the next element may be checked.
  4. When the loop will end, the variable max will have the greatest value from the array aList.

i hope it will help you!

7 0
3 years ago
Read 2 more answers
What factor determines a boat's required equipment??
Eddi Din [679]

Length of the boat is the factor that determines a boat's required equipment.

<span>Safety required equipment are the most important on the boat or vessel, and an operator of the boat must make sure that a boat has safety equipment. According to the length of the boat equipment are required, if the boat is large in length, it contains more equipment than the boat which is small in length.</span>

6 0
3 years ago
Imagine how the situation could be handled. Come up with as many ideas as possible: There's no one "right" answer! Then, highlig
Veseljchak [2.6K]

Answer:

there is no passage

Explanation:

6 0
3 years ago
Which line of code will only allow a non-decimal point to be stored in a variable? candyCost = float(input("How much is the cand
ad-work [718]

Answer:

candyCost = int(input("How much is the candy?"))

Explanation:

candyCost = input("How much is the candy?") → By default, this how you get input and store the value. And it is stored as a string

candyCost = str(input("How much is the candy?")) → This also gives you a string to store

candyCost = float(input("How much is the candy?")) → This gives you a float number, decimal number, to store

candyCost = int(input("How much is the candy?")) → This gives you an integer number, a non-decimal

4 0
3 years ago
Read 2 more answers
Other questions:
  • What are rules that we use on the internet called, and what are some of them?
    6·1 answer
  • What is the correct order of operations for protecting a critical section using a binary semaphore?
    15·1 answer
  • Which of the following is not a standard method called aspart of the JSP life cycle*
    9·1 answer
  • The program has a compilation error because s is not initialized, but it is referenced in the println statement. The program has
    8·1 answer
  • To what type of user does he most likely have access? Jae is using a computer at the public library to do research she's able to
    9·1 answer
  • 4. Write an appropriate comment for describ-
    11·1 answer
  • 13. A 2-sided coin has an equal likelihood of landing on each side. One side is called "heads" and the other is called "tails".
    11·1 answer
  • Instructions
    15·1 answer
  • You need to select the text / picture /shape before you can Hyperlink.
    9·1 answer
  • PYTHON!
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!