在两个长度相等的一维整型数组中寻找相同元素。先输入一个整数n表示数组的长度,接着分别输入两个数组的内容,且每个数组内部均无重复数值,请找出两个数组中的相同元素。若存在相同元素输出其相同的元素值,否则输出failure。
时间: 2023-05-31 21:17:55 浏览: 263
获取两个数组相同的元素或不同的元素输出
### 回答1:
可以使用两个for循环遍历两个数组,比较每个元素是否相同,如果相同则输出该元素值。如果遍历完两个数组都没有找到相同元素,则输出failure。
代码示例:
```
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n; // 输入数组长度
int arr1[n], arr2[n];
for (int i = ; i < n; i++) {
cin >> arr1[i]; // 输入第一个数组的元素
}
for (int i = ; i < n; i++) {
cin >> arr2[i]; // 输入第二个数组的元素
}
bool found = false; // 标记是否找到相同元素
for (int i = ; i < n; i++) {
for (int j = ; j < n; j++) {
if (arr1[i] == arr2[j]) { // 如果找到相同元素
cout << arr1[i] << " "; // 输出该元素值
found = true; // 标记为已找到相同元素
}
}
}
if (!found) { // 如果没有找到相同元素
cout << "failure"; // 输出failure
}
return ;
}
```
### 回答2:
题目描述:
这道题目要求我们在两个长度相等的一维整型数组中寻找相同元素。我们需要编写程序,输入数组的长度n和两个数组的内容,然后输出两个数组中相同的元素值。如果两个数组中不存在相同元素,则输出“failure”。
解题思路:
这道题目的解题思路非常简单。我们可以先输入两个长度为n的数组,遍历数组并用哈希表将其中一个数组的元素全部存储,然后再遍历另一个数组,查看是否有相同的元素。
具体操作:
1.先输入一个整数n,代表数组的长度。
2.分别输入两个长度为n的整型数组arr1和arr2。
3.定义一个哈希表map存储arr1数组中的元素。
4.遍历arr2数组,查看其中是否存在与arr1数组相同的元素。
如果存在,输出这个元素值。
5.如果在遍历了整个数组后都没有找到相同的元素,则输出“failure”。
下面是完整的处理过程:
C++代码:
### 回答3:
题目要求在两个长度相等的一维整型数组中寻找相同元素。首先,我们需要输入一个整数n,用来确定数组的长度。接着,我们需要分别输入两个数组的内容,且每个数组内部均无重复数值。这意味着我们可以使用两个set集合来存储这两个数组的内容,以确保每个数组中的元素都不会重复。
接下来,我们需要找到这两个数组中的相同元素。我们可以使用一个循环来遍历第一个数组,然后在第二个数组中查找是否存在相同的元素。如果存在相同元素,则将其存储到一个新的set集合中,以确保不会输出重复的元素。最后,我们可以输出这个新的set集合中的元素,如果集合为空,则说明两个数组没有相同的元素,输出failure即可。
下面是详细实现的代码示例:
```
#include <iostream>
#include <set>
using namespace std;
int main() {
int n;
cin >> n;
// 定义两个set集合,分别用来存储两个数组的内容
set<int> s1, s2;
// 输入第一个数组的内容,并将其存储到s1中
for (int i = 0; i < n; i++) {
int num;
cin >> num;
s1.insert(num);
}
// 输入第二个数组的内容,并将其存储到s2中
for (int i = 0; i < n; i++) {
int num;
cin >> num;
s2.insert(num);
}
// 定义一个新的集合,用来存储两个数组的相同元素
set<int> res;
// 在第二个数组中查找第一个数组的元素
for (int num : s1) {
if (s2.count(num) > 0) {
res.insert(num);
}
}
// 输出两个数组的相同元素
if (res.empty()) {
cout << "failure" << endl;
} else {
for (int num : res) {
cout << num << " ";
}
cout << endl;
}
return 0;
}
```
当输入如下数据时:
```
5
1 2 3 4 5
3 4 5 6 7
```
程序将会输出:
```
3 4 5
```
当输入如下数据时:
```
4
1 2 3 4
5 6 7 8
```
程序将会输出:
```
failure
```
这个程序通过使用两个set集合来解决了这个问题,时间复杂度为O(nlogn)。
阅读全文