它们添加到端我在data.txt
文件等9 3 9 4 5 4 3 7 1 9 6从数组中删除重复的数字,并在C++
阵列我需要找到重复的数字,并从删除它们阵列。
之后,我需要收集他们在数组的末尾。
我写了一个代码,输出是9 3 4 5 7 1 6 9 3 4 9,但我需要将重复的数字放在数组中,按照它们出现在原始数组中的顺序。
所以我需要得到{ 9, 3, 4, 5, 7, 1, 6, 9, 4, 3, 9 }
作为输出。
如何使用代码实现我的目标?
#include <iostream>
#include <fstream>
using namespace std;
#define SZ 11
int main(){
ifstream fs("data.txt");
if (!fs)
return 0;
int a[SZ];
for (int i = 0; i < SZ; ++i)
fs >> a[i];
for (int k=0; k<SZ; k++) {
for (int j=k+1; j< SZ ; j++) {
if (a[j]==a[k]) {
for (int l=j; l<SZ-1; l++) {
a[l]=a[l+1];
}
a[10]=a[k];
}
}
}
for (int i = 0; i < SZ; ++i)
cout << a[i];
return 1;}
我不假设'std :: sort'数组,然后在其上运行'std :: unique'是一个选项。 – WhozCraig 2014-09-29 21:58:01
我期望它的功课,所以一切都必须写成它的C代码,而不是使用适当的C++习惯用法。 – 2014-09-29 22:03:09
您是否需要为您的示例输入获取“{9,3,4,5,7,1,6}”? – 2014-09-29 22:11:18