用c++实现:原型为 bool Find intNum (int all,int n,int x)的函数完成如下功能:在 n 个整数中查找是否有与参数 x的值相等的数,若有则返回 True,否则返回 False。 设有两个各含 10个元素的整数集合 al和a2,编写主函数 main 和函数 Find intNum,在 main 函数中通过调用函数 Find intNum 实现这两个集合是否相等的判断。集合 al 和a2 的元素值由键盘输入,如果 al 和 a2 相等,则在屏幕输出“两个集合相等!”:否则输出“两个集合不相等!”。
时间: 2024-02-27 09:57:23 浏览: 86
下面是 C++ 实现的代码:
```cpp
#include <iostream>
using namespace std;
bool FindIntNum(int all, int n, int x) {
int *p = new int[n];
for (int i = 0; i < n; i++) {
cin >> p[i];
if (p[i] == x) {
delete[] p;
return true;
}
}
delete[] p;
return false;
}
int main() {
const int n = 10;
int a1[n], a2[n];
cout << "请输入第一个集合的元素(共" << n << "个):" << endl;
for (int i = 0; i < n; i++) {
cin >> a1[i];
}
cout << "请输入第二个集合的元素(共" << n << "个):" << endl;
for (int i = 0; i < n; i++) {
cin >> a2[i];
}
bool equal = true;
for (int i = 0; i < n; i++) {
if (!FindIntNum(n, n, a1[i])) {
equal = false;
break;
}
}
if (equal) {
for (int i = 0; i < n; i++) {
if (!FindIntNum(n, n, a2[i])) {
equal = false;
break;
}
}
}
if (equal) {
cout << "两个集合相等!" << endl;
} else {
cout << "两个集合不相等!" << endl;
}
return 0;
}
```
函数 `FindIntNum` 接收三个参数,分别是集合的总元素个数 `all`、集合的实际元素个数 `n` 和待查找的数 `x`。函数内部使用动态分配数组来存储集合元素,从输入中读取集合元素并逐个与待查找的数比较,如果找到则释放动态数组并返回 true,否则释放动态数组并返回 false。
主函数中先从标准输入中读取两个集合的元素,然后依次遍历两个集合的元素,如果集合 al 中有任意一个元素在集合 a2 中不存在,则认为两个集合不相等。最后根据比较结果输出相应的字符串。
阅读全文