Tuesday, July 14, 2009

C++ question...visual studio..?

I have a question in an assignment that's really messing with my head...it goes:





2. [Marks: 25] Write a procedure void sort2(int%26amp; a, int%26amp; b) that swaps the values of


a and b if a is greater than b and otherwise leaves a and b unchanged. For example,


int u = 2;


int v = 3;


int w = 4;


int x = 1;


sort2(u, v); /* u is still 2, v is still 3 */


sort2(w, x); /* w is now 1, x is now 4 */


Also write a procedure sort3(int%26amp; a, int%26amp; b, int%26amp; c) that swaps its three inputs to


arrange them in sorted order that uses sort2. For example,


int v = 3;


int w = 4;


int x = 1;


sort3(v, w, x); /* v is now 1, w is now 3, x is now 4 */








any ideas for 10 points??

C++ question...visual studio..?
Similar to "so far north" answer, but...





void swap2(int%26amp; a, int%26amp; b)


{


if (a %26gt; b) { // ONLY swap if a %26gt; b


int tmp = a;


a = b;


b = tmp;


}


}





void swap3 (int%26amp; a, int%26amp; b, int%26amp; c)


{


swap2 (a, b) // a become smaller of the 2


swap2 (b, c) // b becomes smaller of the 2


}
Reply:How about this:





void swap(int%26amp; a, int%26amp; b)


{


int tmp = a;


a = b;


b = tmp;


}





int _tmain(int argc, _TCHAR* argv[])


{


int a = 1;


int b = 2;


swap(a,b);


.....


}





You can expand on it for the 3-parameter version.


No comments:

Post a Comment