输入一个正整数n(1<n<10),再输入n个整数,存入第1个数组中;然后输入一个正整数m(1<m<10),再输入m个整数,存入第2 个数组中,试编写程序找出并输出所有不是这两个数组共有的元素。 c++
时间: 2024-10-23 08:08:50 浏览: 37
在C++中,你可以使用集合数据结构如set或unordered_set来解决这个问题,因为它们自动去除了所有重复的元素,并且可以快速找到两个集合之间的差异。以下是实现的一个简单示例:
```cpp
#include <iostream>
#include <vector>
#include <set>
void find_unique(int n, std::vector<int>& array1, int m, std::vector<int>& array2) {
std::set<int> set1(array1.begin(), array1.end());
std::set<int> set2(array2.begin(), array2.end());
// 添加第一个集合到第二个集合的差集
for (int num : set1)
if (!set2.count(num))
std::cout << num << " is unique to array1\n";
// 添加第二个集合到第一个集合的差集
for (int num : set2)
if (!set1.count(num))
std::cout << num << " is unique to array2\n";
}
int main() {
int n;
std::cout << "Enter the number of elements for first array (1 < n < 10): ";
std::cin >> n;
std::vector<int> array1(n);
std::cout << "Enter " << n << " integers for first array: ";
for (int i = 0; i < n; ++i)
std::cin >> array1[i];
int m;
std::cout << "Enter the number of elements for second array (1 < m < 10): ";
std::cin >> m;
std::vector<int> array2(m);
std::cout << "Enter " << m << " integers for second array: ";
for (int i = 0; i < m; ++i)
std::cin >> array2[i];
find_unique(n, array1, m, array2);
return 0;
}
```
当你运行这个程序时,它会提示用户输入两个数组的元素,并打印出每个数组独有的元素。
阅读全文