Answer the following questions by performing a hand-trace of the code. Write dow
ID: 3697570 • Letter: A
Question
Answer the following questions by performing a hand-trace of the code. Write down the contents of the array if a data element changes within the array. NOTE: A screen shot of the output or just a listing of the output will be awarded a grade of zero.You need to perform a hand-trace, which means you are the computer.
Trace the following program:
int main(){
int values[6] = {7, 2, 3, 8, 9, 1};
bool swap;
int temp;
do{
swap = false;
for (int count = 0; count < 5 ; count++)
{
if (values [count] > values [count + 1])
{
temp = values [count];
values [count] = values [count + 1];
values [count + 1] = temp;
swap = true;
}
}
} while (swap);
// more statements
return 0;
Explanation / Answer
The program has two loops...
outer loop :- do while ... runs until the swap is false.... if swap is false then loop breaks,,.
inner loop:- for ....runs for count value zero to upto <5...
if condion in for loop ... if any value in the given array is greater than its next value then ... then both values are swapped and swap varaible is set to true....
if there is atleast one swapp in for loop then the swap variable is set to true... otherwise false....
..
temp = values[count]
values[count]=values[count+1]
values[count+1]=temp
these 3 are swapp statements....
swapping values from values[count],values[count+1]
let start the program...
values[6]={7,2,3,8,9,1}
do while
swap = false
for loop...
from count 0 to <5 means 4
count=0
if condition : values[count]=7 values[0] .. first value in the array... is 7
values[count+1] =2
7 > 2 .. so swapthem.. swap =true
array is {2,7,3,8,9,1}
count =1
if values[count]>values[count+1]
values[1]=7,values[2]=3
7>3
swappthemm
swap = true
array is {2,3,7,8,9,1}
count =2
if values[count]>values[count+1]
values[2]=7,values[3]=8
7<8
if condition fails...
so no need to swap..
count =3
if values[count]>values[count+1]
values[3]=8,values[4]=9
8<9
if condition fails ..
so no need to swapp..
count =4
if values[count]>values[count+1]
values[4]=9,values[5]=1
9>1
so swapp them
the array is :- {2,3,7,8,1,9}
count =5
5<5 condition fails...
for loop ends here...
now while condition...swap is true..
so again while...loop starts..
values = {2,3,7,8,1,9}
swap = false
for loop...
from count 0 to <5 means 4
count=0
if condition : values[count]=2 values[0] .. first value in the array... is 3
values[count+1] =2
2 > 3 .. condition fails...
no swapping is required..
array is {2,3,7,8,1,9}
count =1
if values[count]>values[count+1]
values[1]=3,values[2]=7
3>7
condition fails... no swapping is required...
array is {2,3,7,8,1,9}
count =2
if values[count]>values[count+1]
values[2]=7,values[3]=8
7<8
if condition fails...
so no need to swap..
count =3
if values[count]>values[count+1]
values[3]=8,values[4]=1
8>1
swapp them.. swap =true..
array is {2,3,7,1,8,9}
count =4
if values[count]>values[count+1]
values[4]=8,values[5]=9
8<9
if condition fails ..
so no need to swapp..
array is {2,3,7,1,8,9}
count =5
5<5 condition fails...
for loop ends here...
now while condition...swap is true..
again while stars:--
values = {2,3,7,1,8,9}
swap = false
for loop...
from count 0 to <5 means 4
count=0
if condition : values[count]=2 values[0] .. first value in the array... is 3
values[count+1] =2
2 > 3 .. condition fails...
no swapping is required..
array is {2,3,7,1,8,9}
count =1
if values[count]>values[count+1]
values[1]=3,values[2]=7
3>7
condition fails... no swapping is required...
array is {2,3,7,1,89}
count =2
if values[count]>values[count+1]
values[2]=7,values[3]=1
7>1
swapp them
swap= true
array is {2,3,1,7,8,9}
count =3
if values[count]>values[count+1]
values[3]=7,values[4]=8
7>8
condition fails... no need to swapp
array is {2,3,1,7,,8,9}
count =4
if values[count]>values[count+1]
values[4]=8,values[5]=9
8<9
if condition fails ..
so no need to swapp..
count =5
5<5 condition fails...
for loop ends here...
now while condition...swap is true..
again while stars:--
values = {2,3,1,7,8,9}
swap = false
for loop...
from count 0 to <5 means 4
count=0
if condition : values[count]=2 values[0] .. first value in the array... is 3
values[count+1] =2
2 > 3 .. condition fails...
no swapping is required..
array is {2,3,7,8,1,9}
count =1
if values[count]>values[count+1]
values[1]=3,values[2]=1
3>1
swapp them
swap =true...
array is {2,1,3,7,8,9}
count =2
if values[count]>values[count+1]
values[2]=3,values[3]=7
3>7
if condition fails...
so no need to swap..
count =3
if values[count]>values[count+1]
values[3]=7,values[4]=8
7>8
condion fails.. no need to swapp
array is {2,1,3,7,8,9}
count =4
if values[count]>values[count+1]
values[4]=8,values[5]=9
8<9
if condition fails ..
so no need to swapp..
count =5
5<5 condition fails...
for loop ends here...
now while condition...swap is true..
again while stars:--
values = {2,1,3,7,8,9}
swap = false
for loop...
from count 0 to <5 means 4
count=0
if condition : values[count]=2 values[0] .. first value in the array... is 2
values[count+1] =1
2 > 1 ..swapp them
swap = true
array is {1,2,3,7,8,9}
count =1
if values[count]>values[count+1]
values[1]=2,values[2]=3
2>3
condition fails... no swapping is required...
array is {1,2,3,7,8,9}
count =2
if values[count]>values[count+1]
values[2]=3,values[3]=7
3>7
if condition fails...
so no need to swap..
count =3
if values[count]>values[count+1]
values[3]=7,values[4]=8
7>8
condtion failed no swaping required
array is {1,2,3,7,8,9}
count =4
if values[count]>values[count+1]
values[4]=8,values[5]=9
8<9
if condition fails ..
so no need to swapp..
count =5
5<5 condition fails...
for loop ends here...
now while condition...swap is true..
again while stars:--
values = {1,2,3,7,8,9}
swap = false
for loop...
from count 0 to <5 means 4
count=0
if condition : values[count]=1 values[0] .. first value in the array... is 1
values[count+1] =2
1>2
condition fails...no need to swapp
array is {1,2,3,7,8,9}
count =1
if values[count]>values[count+1]
values[1]=2,values[2]=3
2>3
condition fails... no swapping is required...
array is {1,2,3,7,8,9}
count =2
if values[count]>values[count+1]
values[2]=3,values[3]=7
3>7
if condition fails...
so no need to swap..
count =3
if values[count]>values[count+1]
values[3]=7,values[4]=8
7>8
condtion failed no swaping required
array is {1,2,3,7,8,9}
count =4
if values[count]>values[count+1]
values[4]=8,values[5]=9
8<9
if condition fails ..
so no need to swapp..
count =5
5<5 condition fails...
for loop ends here...
now while condition...swap is false
so while breaks...
values : -{1,2,3,,7,8,9}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.