Write a procedure void sort2(int& a, int& 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
#include < iostream > using namespace std; void sort2(int& a, int& b) { if(a>b) { int tmp = a; a = b; b = tmp; } } int main() { int u = 2; int v = 3; int w = 4; int x = 1; sort2(u,v); sort2(w,x); cout << "u : " << u << endl; cout << "v : " << v << endl; cout << "w : " << w << endl; cout << "x : " << x << endl; }
Write a procedure sort3(int& a, int& b, int& c) that swaps its three inputs to arrange them in sorted order.
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
Hint: Use sort2 of Exercise P4.2.
#include < iostream > using namespace std; void sort2(int& a, int& b) { if(a>b) { int tmp = a; a = b; b = tmp; } } void sort3(int& a, int& b, int& c) { sort2(b,c); sort2(a,c); sort2(a,b); } int main() { int v = 3; int w = 4; int x = 1; sort3(v, w, x); cout << "v : " << v << endl; cout << "w : " << w << endl; cout << "x : " << x << endl; }