我需要简单的C++答案
就像我使用的代码一样,它会打印出重复的数字
#include <iostream>
using namespace std;
int main() {
int arr[5], arr2[5], i = 0, j = 0;
cout << "enter elements of array:\n";
for (i = 0; i < 5; i++) {
cin >> arr[i]; }
for (i = 0; i < 5; i++) {
for (j = 0; j < i; j++) {
if (arr[i] == arr[j])break;
}
if (i == j) cout << arr[i];
}
}
您需要循环数组并将另一个循环嵌套到数组中以查看是否已经找到该元素。
#include <iostream>
int main() {
bool found = false;
int array[] = {1, 4, 5, 3, 7, 5, 2, 7};
int length = sizeof(array) / sizeof(array[0]);
for (int i = 0; i < length; i++) {
found = false;
for (int j = 0; (!found) && (j < i); j++) {
if (array[i] == array[j]) found = true;
}
if (!found) std::cout << array[i] << " ";
}
}
您还可以创建一个
std::set
并尝试 insert
所有数组元素并在成功时将其打印出来(这意味着它们是第一次遇到):
#include <iostream>
#include <set>
int main() {
int array[] = {1, 4, 5, 3, 7, 5, 2, 7};
int length = sizeof(array) / sizeof(array[0]);
std::set<int> myset;
for (int i = 0; i < length; i++) {
if (myset.insert(array[i]).second) {
std::cout << array[i] << " ";
}
}
}