我一直在尝试使用向量来编写一个程序,该程序接受20个随机数,范围从-100到100,到目前为止它只输出该范围内的两个数字的乘积。我尝试使用main()中的sort函数按升序对数字进行排序,并让程序输出输入的最小值和最大值。有什么建议吗?
这是完整的源代码:
#include <iostream>
#include <cstdlib>
#include <vector>
#include <ctime>
#include <algorithm>
#include <stdexcept>
using namespace std;
typedef std::vector<int>::size_type vc_size;
int mult(std::vector<int> v_mult);
void buildVector(vector<int> &vect, int numItems)
{
while (true)
{
int x = 0;
int y = 0;
if (x < -100 && y > 100)
cout << "Not In Range" << x << y << endl;
else
break;
}
srand(time(NULL));
for (int i = 1; i <= numItems; i++)
{
vect.push_back(rand() % 1000 + 1);
}
}
void displayVector(vector<int> vect)
{
for (int i = 0; i < vect.size(); i++)
{
cout << vect[i] << endl;
}
}
int main(void)
{
vector <int> numbers;
buildVector(numbers, 20);
displayVector(numbers);
cout << endl;
sort(numbers.begin(), numbers.end());
displayVector(numbers);
cout << endl;
system("pause");
return 0;
}
int mult(std::vector<int> v_mult)
{
vc_size vector_size = v_mult.size();
int mult_result = v_mult[0];
for (int i = 1; i < vector_size; i++)
{
mult_result *= v_mult[i];
}
return mult_result;
}