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
jenyasd209 [6]
3 years ago
8

Suppose that a is a one-dimensional array of ints with a length of at least 2. Which of the following code fragments successfull

y exchange(s) the values of the first two elements of a?I a[ 0 ] = a[ 1 ]; a[ 1 ] = a[ 0 ];II int t = a[ 0 ]; a[ 0 ] = a[ 1 ]; a[ 1 ] = t;III a[ 0 ] = a[ 0 ] - a[ 1 ]; a[ 1 ] = a[ 0 ] + a[ 1 ]; a[ 0 ] = a[ 1 ] - a[ 0 ]; A) I only B) II only C) III only D) I and II only E) II and III only
Computers and Technology
1 answer:
Lyrx [107]3 years ago
6 0

Answer:

E) II and III only

<h2>Explanation of II</h2>

The chunk of code given in II uses an array a and a variable t which is called temporary variable and it holds the value of some other variable or an array element temporarily.

So the first line of the code int t=a[0] the temporary variable t holds the current value of the array a i.e the array element at first index of the array a[0] is copied to variable t.  This variable t is used to hold the original value of a[0] so that if the value of a[0] is overwritten later, it wont lose its original value.

a[0]=a[1] This line of code stores the value of a[1] in a[0]. This means that a[0] holds the array element at next index a[1] . This means the original value of a[0] is no longer the same because now it contains the value of a[1].  

The next line a[1]=t. This means that now a[1] holds the value which was stored in variable t. As the variable t was used to store the original value of a[0]. So that value is now stored in a[1].

Lets take an example: array a contains the two elements 1  at a[0] and 2 at a[1] position.

So according to the first statement

t=a[0] means that t holds value of array a at 0 index. We have 1 at 0th index of array so t=1

Next statement a[0]=a[1] means the value at a[1] is copied to a[0]

So at a[1] the value is 2. So this value 2 is stored in a[0] position in the array.

The last statement a[1]=t means now the value stored in t is copied to a[1]

As t stored the value of a[0] which was array element 1 so now this array element is copied to a[1]th position of the array. So a[1] holds 1 now.

This is how the elements 1 and 2 are swapped as now a[0] holds 2 and a[1] holds 1.

<h2>Explanation for III</h2>

Suppose that a[0]=1 and a[1]=2

The first statement a[ 0 ] = a[ 0 ] - a[ 1 ]; means that the value at a[0] is subtracted by the value at a[1]. That means 1-2 as 1 is the array element at a[0] and 2 is the array element at a[1] so 1-2=-1 This value is now stored at a[0] th position of array.  Now a[0]=-1 and a[1]=2

Next statement a[ 1 ] = a[ 0 ] + a[ 1 ];  means adding array element at a[0] and a[1] and the result of this addition is stored in a[1]. As a[0] is -1 and a[1] is 2 So a[0]+a[1]= -1+2=1 So a[1]=1 This means 1 will be placed at a[1] th position of array a. Now a[0]=-1 and a[1]=1

Note that a[1] now holds the value 1 which was the original value of a[0]  in start. This is because the first statement of code subtracts value a[1] from value of a[0] and then adds back value of a[1] to value of a[0] to keep the original value of a[0] safe for swapping just like in II the original value of a[0] is kept by temporary variable t.

The last line a[ 0 ] = a[ 1 ] - a[ 0 ]; means subtracting value at a[0] from value in a[1]. As we know that a[0]=-1 and a[1]=1 So a[0]=a[1]-a[0]=1+1=2 So a[0]=2.

Note that a[0] now holds the value 2 which was the original value of a[1]  in start. In the statement a[ 1 ] = a[ 0 ] + a[ 1 ] the value of a[0] is added to a[1] to get new value of a[1] and in statement a[ 0 ] = a[ 1 ] - a[ 0 ]; the value of a[0] is subtracted from that of a[1] in order to get previous original value of a[1]. So in the end a[0]=2 and a[1]=1 This is how the two value are swapped.

Explanation of I being false:

The line of code a[0] = a[1]; copies the value of a[1] to a[0]

This means the original value at a[0] is changed. This is called to overwrite the value. It is required to exchange values of elements in a[0] and a[1]. In order to swap two elements their original values should be retained but in this statement overwrites the original value in a[0]. So I is wrong.

 

You might be interested in
Write a repetition statement that outputs the numbers 45 , 51 , . . . , 165 . That is, all of the multiples of 6 in increasing o
Bingel [31]

Answer:

#include <iostream>

using namespace std;

int main()

{

   int i = 45;

   for ( i = 45; i <=165; i = i + 6)

       cout << i << endl;

}

Explanation:

I corrected your code and highlighted the mistakes. Even though you wrote the correct algorithm, your code did not compile because of the typos you made.

Remember, C++ is a case-sensitive language. That means, "For" is not same as "for".

Generally, variables and keywords are written in lower case. Of course, there are exceptions, such as constant variables are all written in uppercase letter and class names start with an uppercase letter.

8 0
3 years ago
Which part of project management considers if employees will work at home or in the office?
gregori [183]

Answer: i think its resources

Explanation:

5 0
3 years ago
Read 2 more answers
Need help with these
kolbaska11 [484]
The first one is d the second one is true the third one is false
3 0
3 years ago
Which statement best describes one reason why assembly language is easier
viktelen [127]

Answer:

machine language uses binary code and assembly language uses mnemonic codes to write a program.

Explanation:

In a nutshell, machine language uses binary code, which is almost impossible for humans to decipher, whereas assembly language uses mnemonic codes to write a program. Mnemonic codes make it simpler for humans to understand or remember something, and so make the language a bit easier for humans to use than machine code.

6 0
2 years ago
How to convert mkv to avi without losing quality?
Alexus [3.1K]
Ive done this before with success.
You will need <span>FFmpeg.</span>
https://superuser.com/questions/227338/how-to-convert-an-mkv-to-avi-with-minimal-loss
7 0
3 years ago
Other questions:
  • Which statement describes the word "iterative"?
    7·2 answers
  • What are the only things that can be declared in an interface?
    11·1 answer
  • __________ is a growing practice in cooperative farmingassociations to pool and sell the fruit as a common commodity underthe br
    6·1 answer
  • What is used to accurately position objects on the slide using a single horizontal and vertical line that intersects in the cent
    5·2 answers
  • A10:A20 Refer to values in
    8·1 answer
  • If someone said to you, “Pseudocode is a waste of time! It’s just more work because you end up writing the same program twice,”
    8·1 answer
  • Circuit pruning occurs only before puberty.<br> O True<br> O False
    9·2 answers
  • Many ____ classes for certification are available on the Internet and by many companies that have set up intranets within their
    15·1 answer
  • In what real-life situations might you want to use the modulus operation in a program?
    15·1 answer
  • To make the monster pace, you needed the monster to turn ___ degrees.
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!