// Ex513.cc // Sec. 5.1 of lecture // Array: Pivot for a vector // a.out < input.513{a,b,c} #include #include main() { const int N=10; double x[N], xmin, xmax, tmp; int kmin, kmax, i; // Initialize x for (i = 0; i < N ; i++) { cin >> x[i]; } // Print orig. vector cout << endl << " Orig. vector" << endl; for (i = 0; i < N ; i++) { cout << " " << x[i]; } cout << endl; // Initialize min/max xmin = DBL_MAX; // in float.h xmax = -DBL_MAX; // Initialize indices kmin = kmax = -1; // Determine min/max for (i = 0; i < N; i++) { if ( xmin > x[i] ) { xmin = x[i]; kmin = i; } if ( xmax < x[i] ) { xmax = x[i]; kmax = i; } } // Swap Pivot elements // Do nothing for N=0 or constant vector if ( kmax != kmin ) { tmp = x[kmin]; x[kmin] = x[kmax]; x[kmax] = tmp; } else { cout << endl << " Nothing to swap"; } // Print Pivot vector cout << endl << " Pivot vector" << endl; for (i = 0; i < N ; i++) { cout << " " << x[i]; } cout << endl; }