Below is the assignment I was given and the coding is what I have came up with. I would appreciate criticism on how I did and on ways to have gone differently about it.
You want to number your random list numbers, so use an iterator to put the list numbers into a map (but keep the list). The key will be the number the random number was generated in starting at 1 (ex. 1, 2, 3, etc., since these are not just index numbers). The value will be the random number. Use an iterator to print the two fields lined up on the right with field widths in two columns with the numbers labeled with centered column headings of Key and Value.
Since the list is easier to work with, lets work with the list to perform some calculations. You will sort the numbers in your list. Then use iterators, algorithms, and list functions (not the user's input variable) to find the sum, mean (average), median (middle value - find the size and move up half way), range (difference between highest and lowest), and a random number from a random spot from your list of random number (get a random number (in the proper range) with rand() and move up that many spots in your list). Then print the labeled values (with the mean to three decimal places).
Now, use your iterator to put the now sorted list numbers back into the map (which will change the original map's order). The key will still be numbers starting at 1. The value will now be the random number in their sorted order. Again, use an iterator to print the two fields lined up on the right with field widths in two columns with the numbers labeled with column headings of Key and Value.
#include <bits/stdc++.h>
using namespace std;
int main() {
cout << "Enter the length of list: ";
int n;
cin >> n;
std::vector<int> v(n);
cout << "The random generated numbers are: \n";
for (int i = 0; i < n; i++) {
int x = rand() % 151;
cout << std::setw(10);
cout << i << " ";
cout << std::setw(10);
cout << x << endl;
v[i] = x;
}
int sum = 0;
for (int i = 0; i < n; i++)
sum += v[i];
cout << "The sum: " << sum << endl;
cout << "The mean: " << sum / n*1.0 << endl;
sort(v.begin(), v.end());
cout << "The median: " << v[n / 2] << endl;
return 0;
}