C++テーマ:3.乱数ソート
8690 ワード
学校の中でいくつかの学友にいっしょに1种のアンケート调査をしてもらいたいのに、実験の客観性のため、彼は先にコンピュータでN个の1から1000の间のランダムな整数(N≦1000)を生成して、その中の缲り返した数字に対して、ただ1つだけ残して、残りの同じ数を除いて、异なる数は异なる学生の学号に対応しています.それからこれらの数を小さいものから大きいものに並べて、並べた順番に同級生を探して調査します.「重み付け」と「並べ替え」の仕事を終えたのに協力してください.Input Param n入力乱数の個数inputArray n個の乱数からなる配列Return Value OutputArray出力処理後の乱数注:試験例は入力パラメータの正確性を保証し、解答者は検証する必要がない.テスト例は1つ以上です.入力説明:複数行を入力し、ランダムな整数の個数を入力し、対応する個数の整数出力説明を入力します:複数行を返し、処理後の結果
// , ,
// , , , , ,
// ,
// , ,
#include
#include
using namespace std;
int main()
{
int rand,k=0;
vector<int> vec;
int temp[100];
while (cin >> rand)
{
vec.push_back(rand);
}
cout <<" :n="<< vec.size() << endl;
for (int i = 0; i < vec.size() - 1; i++)
{
for (int j =i+1; j < vec.size() ; j++)
{
if (vec[i] > vec[j])
{
swap(vec[i], vec[j ]);
}
}
}
for (int i = 0; i < vec.size()-1; i++)
{
if (vec[i] != vec[i+1])
temp[k++] = vec[i];
}
if (vec[vec.size() - 2] != vec[vec.size() - 1])
temp[k] = vec[vec.size() - 1];
cout << " :k=" << k+1 << endl;
for (int i = 0; i <= k; i++)
cout << temp[i] << endl;
return 0;
}