我目前正在编写一段代码,该代码最多可读取20个整数,将它们分配给一个向量,然后按升序排列它们。我拥有所有东西,但是我不知道如何按升序排列它们。
#include <iostream.h>
#include "apvector.h"
void DisplayVector(int intOutputLoop, int intInputLoop, apvector<int> numbers);
void BuildVector(int &intInputLoop, apvector<int> &numbers);
void BuildVector(int &intInputLoop, apvector<int> &numbers)
{
int intInput;
do
{
if (!(cin >> intInput))
{
cout << "Please Enter A Numeric Value" << endl;
cin.clear();
cin.ignore(1000000, '\n');
}
else
{
if (intInput == 666)
break;
else
{
numbers[intInputLoop] = intInput;
intInputLoop = intInputLoop + 1;
}
}
}
while (intInputLoop < 20);
}
void DisplayVector(int intOutputLoop, int intInputLoop, apvector<int> numbers)
{
}
int main()
{
apvector<int> numbers(20);
int intInputLoop = 0;
int intOutputLoop = 0;
BuildVector(intInputLoop, numbers);
DisplayVector(intOutputLoop, intInputLoop, numbers);
}
答案 0 :(得分:0)
我通过以下方法解决了这个问题:
std::sort (numbers.begin(), numbers.end());
for (std::vector<int>::iterator order = numbers.begin(); order != numbers.end(); ++order)
{
if (*order != 0)
std::cout << ' ' << *order;
}