Answer:
for(i = 0 ; i < NUM_VALS; ++i)
{
cout << courseGrades[i] << " ";
}
cout << endl;
for(i = NUM_VALS-1 ; i >=0 ; --i)
{
cout << courseGrades[i] << " ";
}
cout << endl;
Explanation:
The first loop initializes i with 0, because we have to print the elements in order in which the appear in the array. We print each element, adding a space (" ") character at its end. After the loop ends, we add a new line using endl.
The second loop will print the values in a reverse order, so we initialize it from NUM_VALS-1, (since NUM_VALS = 4, and array indices are 0,1,2,3). We execute the loop till i >= 0, and we print the space character and new line in a similar way we executed in loop1.
Answer:
(a) yes, this protocol allows only serializable schedules for transactions as due to this the system maintains it's consistency. As in this protocol a unique transaction id is being assigned and with the help of that transaction id the system would be able to identify the process which has taken place in what particular order. For example, in case of bank transfers
balance = 1000 transaction id 100
write ADD 200 transaction id 101
write SUB 1100 transaction id 102
write ADD 900 transaction id 103
in here with the help of transaction id we can check which operation has happened in which order, if not then some operation will not happen like 102 immediately after 100 and skipping 101
(b) the modified version of this protocol would be to also consider the time of transaction and take this factor in the consideration
Answer:
A network backbone connects multiple networks together, allowing them to communicate with each other.